winform dataGridView 点击列标题排序
来源:互联网 发布:dwg转换pdf软件 编辑:程序博客网 时间:2024/05/18 14:46
winform手动绑定数据后,点击列标题不能实现自动排序,苦苦寻找方法,发现下面的是可行的。
//建立DataTable将当前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; 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;
}
调用方法:
private void dataGridView1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e){
//取得点击列的索引
int nColumnIndex = e.ColumnIndex;
DataTable d = dvtodt(dataGridView1);
if (SortOrder_ == 0) //程序開始定義 private int SortOrder_=0;
{
d.DefaultView.Sort = this.dataGridView1.Columns[nColumnIndex].Name + " ASC"; //指定升序排列
SortOrder_ = 1;
}
else
{
d.DefaultView.Sort = this.dataGridView1.Columns[nColumnIndex].Name + " desc"; //再次點擊變爲降序排列
SortOrder_ = 0;
}
dataGridView1.Columns.Clear();
dataGridView1.DataSource = d;
}
已实现双向排序
- winform dataGridView 点击列标题排序
- C# 禁止 DataGridView 点击 列标题 排序
- DataGridView取消点击列标题排序
- Winform中DataGridView绑定List<T>数据源时,点击DataGridView列头不能自动排序解决方法
- winform datagridview 列排序简便方法
- winform中DataGridView自定义列排序
- 禁止DataGridView点击表头进行排序(WinForm)
- winform中datagrid和datagridview设置列标题的实现
- WinForm:如何设置DataGridView列标题对齐方式
- DataGridView取消点击列标题排序(转自:http://www.cnblogs.com/371448009/archive/2009/02/04/1383917.html)
- 点击列标题改变列表排序方式
- DataGridView合并列标题
- DataGridView设置列标题
- DataGridView控件点击表列头进行多列关联排序
- winform datagridview 禁止排序
- winform datagridview 手动绑定列
- WinForm 处理 DataGridView 按钮列
- winform datagridview加自定义列
- Android 自定义 HorizontalScrollView 打造再多图片(控件)也不怕 OOM 的横向滑动效果
- 一年新的开始~
- 单例模式
- UFLDL——Exercise: Linear Decoders 线性解码器
- Git use summary (2)
- winform dataGridView 点击列标题排序
- 一个无线供电的超外差电路制作过程
- MFC 声音的播放和录音的实现(一)
- 数据结构复习——第三章:栈和队列
- How to convert an input image from one color space to another space
- 使用单态(Singleton)模式获取数据库操作对象
- Leetcode Factorial Trailing Zeroes
- 【面向对象】——设计模式之行为型模式(一)
- 汇编语言的assume