Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 使用对象声明dataview_Asp.net_Vb.net - Fatal编程技术网

Asp.net 使用对象声明dataview

Asp.net 使用对象声明dataview,asp.net,vb.net,Asp.net,Vb.net,我在前面的代码中有一个对象,它绑定在datagrid上。现在我需要添加排序列。我搜索web以从数据源转换数据表。但我得到一个错误“必须在使用DataView之前设置DataTable” 有人告诉我怎么做吗?提前谢谢 下面是绑定datagrid的代码: Dim thisOrder as New co.Orders(123) dgrdOrders.DataSource=thisOrder dgrdOrders.DataBind() 这是我的代码: Private Sub dgrdOrders_So

我在前面的代码中有一个对象,它绑定在datagrid上。现在我需要添加排序列。我搜索web以从数据源转换数据表。但我得到一个错误“必须在使用DataView之前设置DataTable” 有人告诉我怎么做吗?提前谢谢

下面是绑定datagrid的代码:

Dim thisOrder as New co.Orders(123)
dgrdOrders.DataSource=thisOrder
dgrdOrders.DataBind()
这是我的代码:

Private Sub dgrdOrders_SortCommand(source As Object, e As DataGridSortCommandEventArgs) Handles dgrdOrders.SortCommand        

    Dim dataTable As DataTable = TryCast(dgrdOrders.DataSource, DataTable)
    Dim dv As New DataView(dataTable)
    dv.Sort = e.SortExpression
    dgrdOrders.DataSource = dv
    dgrdOrders.DataBind()
End Sub

最后我找到了排序的方法:

  Private Sub dgrdOrders_SortCommand(source As Object, e As DataGridSortCommandEventArgs) Handles dgrdOrders.SortCommand

    Dim lstOrders As New List(Of co.Order)
      For Each objOrder As co.Order In thisOrder
        lstOrders.Add(objOrder)
      Next

    Select Case e.SortExpression
       Case "Type"
          lstOrders  = lstOrders.OrderBy(Function(x) x.Type).ToList
       Case "Region"
          lstOrders  = lstOrders.OrderBy(Function(x) x.Region).ToList
     End Select
     dgrdOrders.DataSource = lstOrders  
     dgrdOrders.DataBind()

   End Sub