DataGridView 点击列标题排序 如何实现 VS2005 ,VB.NET,用DataGridView,BindingSource绑定数据源,现在想点击列标题进行升序降序排列。如何实现? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 JF .AutoSorting 属性设置为TRUE。另外标题要可点击的 2005里没有看到那个属性只有sortmode ,我选了Automatic 是选这个吗,我无法手动点击排序 this.Column.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;Column是列的对象 应该没问题的,lz再仔细看看你的代码。如果实在不行就在dataGridView_ColumnHeaderMouseClick事件自己实现排序那个事件的e.ColumnIndex应该是你点的列号,通过列号获得你的列名字排序代码:DataTable d = dvtodt(dataGridView3);d.DefaultView.Sort = "aa ASC";//aa是列标题的text,ASC代表升序(desc降序)dataGridView1.Columns.Clear();dataGridView1.DataSource = d;按列aa进行排序//将DataGridView 内容读进datatable public DataTable dvtodt(DataGridView dv) { DataTable dt = new DataTable(); DataColumn dc; for (int i = 0; i < dv.Columns.Count; i++) { dc = new DataColumn(); dc.ColumnName = dv.Columns[i].HeaderText.ToString(); dt.Columns.Add(dc); } for (int j = 0; j < dv.Rows.Count - 1; j++) { DataRow dr = dt.NewRow(); for (int x = 0; x < dv.Columns.Count; x++) { dr[x] = dv.Rows[j].Cells[x].Value; } dt.Rows.Add(dr); } return dt; } 两个 datatable 合并 请教个比较复杂的正则表达式 弹出对话框时,怎样才能屏蔽前一个窗口? C#中如何查看SQL事务日志 关于 Delegate 和 Anonymous method c#读取硬盘物理序列号 在线等待........ 外接程序问题! c#图书馆管理系统 这个正则表达式怎么写? 大家搞到没有?amazon 5星的C#书,C# HOW TO PROGRAM ,哈哈,太爽了,散分. C#中数据库连接的问题 急!!!Winform调用服务
AutoSorting 属性设置为TRUE。另外标题要可点击的
只有sortmode ,我选了Automatic
是选这个吗,我无法手动点击排序
Column是列的对象
如果实在不行就在dataGridView_ColumnHeaderMouseClick事件自己实现排序
那个事件的e.ColumnIndex应该是你点的列号,通过列号获得你的列名字排序代码:
DataTable d = dvtodt(dataGridView3);
d.DefaultView.Sort = "aa ASC";//aa是列标题的text,ASC代表升序(desc降序)
dataGridView1.Columns.Clear();
dataGridView1.DataSource = d;
按列aa进行排序
//将DataGridView 内容读进datatable
public DataTable dvtodt(DataGridView dv)
{
DataTable dt = new DataTable();
DataColumn dc;
for (int i = 0; i < dv.Columns.Count; i++)
{
dc = new DataColumn();
dc.ColumnName = dv.Columns[i].HeaderText.ToString();
dt.Columns.Add(dc);
}
for (int j = 0; j < dv.Rows.Count - 1; j++)
{
DataRow dr = dt.NewRow();
for (int x = 0; x < dv.Columns.Count; x++)
{
dr[x] = dv.Rows[j].Cells[x].Value;
}
dt.Rows.Add(dr);
}
return dt;
}