0

这是表1的内容

代码,描述
1,菠萝
2,香蕉
3,草莓
4,木瓜
5,苹果

它绑定到我的datagridview。我想按它的显示成员而不是按值成员对其进行排序,所以它会像这样排序

代码,描述
5,苹果
2,香蕉
4,木瓜
1,菠萝
3,草莓

注意:描述仅显示给我的数据网格视图,而不是代码字段。

编辑:

这是我的代码:

dim dgvColCmb as New System.Windows.Forms.DataGridViewComboBoxColumn
with dgvColCmb
   tmpDSet.Tables(0).DefaultView.Sort = tmpDSet.Tables(0).Columns(1).ColumnName & " DESC "
   Dim tmpDTable As DataTable = tmpDSet.Tables(0).DefaultView.ToTable
   .DataSource = tmpDTable
   .ValueMember = tmpDTable.Columns(0).ColumnName
   .DisplayMember = tmpDTable.Columns(1).ColumnName
   .ReadOnly = True
end with
dtg.columns.add(dgvColCmb)
dtg.DataSource = sDSet.Tables(0)
4

2 回答 2

2

您可以对绑定到datagridview的DataTable进行排序:

table.DefaultView.Sort = "Description desc";
DataTable sortedData = table.DefaultView.ToTable();
于 2012-10-06T02:31:09.703 回答
1

尝试将 包装在DataTableDataView,然后将 DataView 的 Sort 属性设置为正确的列。您将使用 DataView 作为 DataSource,而不是 DataTable。像这样:

Dim l_view As New DataView(sDSet.Tables(0))
l_view.Sort = "Description" ' ...or... "Description DESC"
dtg.DataSource = l_view
于 2012-10-06T04:16:53.513 回答