在vb.net中对数据表的多列进行排序 [英] Sorting with Multiple columns of datatable in vb.net

查看:785
本文介绍了在vb.net中对数据表的多列进行排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我想一次按数据表的多个字段进行排序/排序.
就像我们在Sql Server "Select EmpCode,EmpName,Date from Employee order Empcode,Date"
中所做的一样
我想以同样的方式对数据表的两三列进行排序.

我尝试了Datatable的dataview


Hi ,

I want to sort/ order by datatable''s multiple fields at a time.
LIke we do in Sql Server "Select EmpCode,EmpName,Date from Employee order Empcode,Date"

Same way i want to sort two or three columns of datatable.

I tried Datatable''s dataview
as

Dim dv as New Dataview(datatbale)
dv.sort= "EmpCode,Date ASC"  -- this sorts only first column
and also
dv.sort = "EmpCode ASC,Date ASC" -- this returns an error



请回答以上查询.



谢谢,
Tirupati Jogu



Please reply for the above query.



Thanks,
Tirupati Jogu

推荐答案

BindingSource BS = new BindingSource();
DataTable testTable = new DataTable();
testTable.Columns.Add("Column1",typeof(int));
testTable.Columns.Add("Column2",typeof(string));
testTable.Columns.Add("Column3",typeof(string));

testTable.Rows.Add(1,"Value1","Test1");
testTable.Rows.Add(2,"Value2","Test2");
testTable.Rows.Add(2,"Value2","Test1");
testTable.Rows.Add(3,"Value3","Test3");
testTable.Rows.Add(4,"Value4","Test4");
testTable.Rows.Add(4,"Value4","Test3");

DataView视图= testTable.DefaultView;
view.Sort =第2列ASC,第3列ASC";//对第2列和第3列进行排序
BS.DataSource =视图;

DataGridViewTextBoxColumn textColumn0 =新的DataGridViewTextBoxColumn();
textColumn0.DataPropertyName ="Column1";
dataGridView1.Columns.Add(textColumn0);
textColumn0.SortMode = DataGridViewColumnSortMode.Programmatic;
textColumn0.HeaderCell.SortGlyphDirection = SortOrder.None;

DataGridViewTextBoxColumn textColumn1 =新的DataGridViewTextBoxColumn();
textColumn1.DataPropertyName ="Column2";
dataGridView1.Columns.Add(textColumn1);
textColumn1.SortMode = DataGridViewColumnSortMode.Programmatic;
textColumn1.HeaderCell.SortGlyphDirection = SortOrder.Ascending;

DataGridViewTextBoxColumn textColumn2 =新的DataGridViewTextBoxColumn();
textColumn2.DataPropertyName ="Column3";
dataGridView1.Columns.Add(textColumn2);
textColumn2.SortMode = DataGridViewColumnSortMode.Programmatic;
textColumn2.HeaderCell.SortGlyphDirection = SortOrder.Ascending;

dataGridView1.DataSource = BS;




对您有帮助...
BindingSource BS = new BindingSource();
DataTable testTable = new DataTable();
testTable.Columns.Add("Column1", typeof(int));
testTable.Columns.Add("Column2", typeof(string));
testTable.Columns.Add("Column3", typeof(string));

testTable.Rows.Add(1, "Value1", "Test1");
testTable.Rows.Add(2, "Value2", "Test2");
testTable.Rows.Add(2, "Value2", "Test1");
testTable.Rows.Add(3, "Value3", "Test3");
testTable.Rows.Add(4, "Value4", "Test4");
testTable.Rows.Add(4, "Value4", "Test3");

DataView view = testTable.DefaultView;
view.Sort = "Column2 ASC, Column3 ASC";// Sorting Column 2 and column 3
BS.DataSource = view;

DataGridViewTextBoxColumn textColumn0 = new DataGridViewTextBoxColumn();
textColumn0.DataPropertyName = "Column1";
dataGridView1.Columns.Add(textColumn0);
textColumn0.SortMode = DataGridViewColumnSortMode.Programmatic;
textColumn0.HeaderCell.SortGlyphDirection = SortOrder.None;

DataGridViewTextBoxColumn textColumn1 = new DataGridViewTextBoxColumn();
textColumn1.DataPropertyName = "Column2";
dataGridView1.Columns.Add(textColumn1);
textColumn1.SortMode = DataGridViewColumnSortMode.Programmatic;
textColumn1.HeaderCell.SortGlyphDirection = SortOrder.Ascending;

DataGridViewTextBoxColumn textColumn2 = new DataGridViewTextBoxColumn();
textColumn2.DataPropertyName = "Column3";
dataGridView1.Columns.Add(textColumn2);
textColumn2.SortMode = DataGridViewColumnSortMode.Programmatic;
textColumn2.HeaderCell.SortGlyphDirection = SortOrder.Ascending;

dataGridView1.DataSource = BS;




It''s Help for u...


这篇关于在vb.net中对数据表的多列进行排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆