DataGridView 点击列标题排序 如何实现

 我来答
风情MT0kw
2013-10-07 · TA获得超过138个赞
知道答主
回答量:134
采纳率:100%
帮助的人:71.3万
展开全部
应该没问题的,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
02public DataTable dvtodt(DataGridView dv)
02 {
02 DataTable dt = new DataTable();
02 DataColumn dc;
02 for (int i = 0; i < dv.Columns.Count; i++)
02 {
02 dc = new DataColumn();
02 dc.ColumnName = dv.Columns[i].HeaderText.ToString();
02 dt.Columns.Add(dc);
02 }
02 for (int j = 0; j < dv.Rows.Count - 1; j++)
02 {
02 DataRow dr = dt.NewRow();
02 for (int x = 0; x < dv.Columns.Count; x++)
02 {
02 dr[x] = dv.Rows[j].Cells[x].Value;
02 }
02 dt.Rows.Add(dr);02 }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式