0

これは表1の内容です

コード、説明
1、パイナップル
2、バナナ
3、ストロベリー
4、パパイヤ
5、アップル

そしてそれは私のdatagridviewにバインドされています。valuememberではなくdisplaymemberで並べ替えたいので、次のように並べ替えます。

コード、説明
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

を でラップしてから、DataView の Sort プロパティを正しい列に設定してみてDataTableくださいDataView。DataTable ではなく、DataView を DataSource として使用します。そのようです:

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 に答える