最近在进行c#窗体应用,需要对DataGridView 显示的数据进行一些比较复杂的排序操作,于是去搜索了winform里的DataGridView 排序方法,搜索得到的实现方式都显得比较复杂,实现起来具有一定难度且不一定满足我个人的需求。无意中看到了微软的官方文档里面有一种实现简单,结果优异的排序方法,自己实现了一下发现效果确实不错,于是跟大家分享一下。
为了照顾刚入门的同学,先讲述一下Winform DataGridView自带的简单排序怎么使用。已经明白的可以直接略过。
1.选中datagridview,点击其右上角的三角形进入编辑列。
2.选中你需要排序的列,将其SortMode属性设为Automatic
设置完成后,点击列标题即可使用该列属性对整个datagridview进行排序。
这种排序方法非常简单,但是难以满足我们的各种需求。比如说我的电脑编号写入datagridview的时候是以字符串形式写入(为了添加长下划线使用户知道这里可以点击),排序的时候就会默认以字符串的对比结果来得到排序结果,
最近在进行c#窗体应用,需要对DataGridView显示的数据进行一些比较复杂的排序操作,于是去搜索了winform里的DataGridView排序方法,搜索得到的实现方式都显得比较复杂,实现起来具有一定难度且不一定满足我个人的需求。无意中看到了微软的官方文档里面有一种实现简单,结果优异的排序方法,自己实现了一下发现效果确实不错,于是跟大家分享一下。...
1、按某一列
排序
dataGridView
1.
Sort
(
dataGridView
1.Columns[5], List
Sort
Direction.Ascending);
2、按多列
排序
DataTable dt = getData(conn).Tables[0];
DataView dataview1=dt.DefaultView;
dataview1.
Sort
= "[机器类型] ASC, [权值] DESC";
dataGridView
1.DataSource = dataview1;
DataVi
DataGridView
列有三种
排序
模式。每一列的
排序
模式是通过该列的
Sort
Mode 属性指定的,该属性可以设置为以下的
DataGridView
Column
Sort
Mode 枚举值之一。
DataGridView
Column
Sort
Mode 值 说明
Automatic
文本框列的默认
排序
模式。除非将列标头用于选择,否则单击列标头将自动按此列对 DataGridVi
DataGridView
Column.
Sort
Mode属性为
DataGridView
Column
Sort
Mode.Automatic时,用 户点击列Header时,可以对列的内容进行
排序
。使用程序
排序
时,可以使用
DataGridView
.
Sort
方法
实现
。但
排序
后如果
Sort
Mode 属性为Automatic或Programmatic时,用户点击列Header时也可以进行
排序
。
补充:MSDN的
Windows
窗体
DataGridView
控件中的列
排序
有三种模式,通过每一列的
Sort
Mode属性修改,改属性是
DataGridView
Column
Sort
Mode的枚举值之一。
DataGridView
Column
Sort
Mode枚举:
1.Automatic:文本框的默认
排序
方式。除非将列表头用于选择,否则单击列表头会对相应的列进行
排序
。
2.Not
Sort
able:非文...
DataGirdView
实现
排序
功能有两种方式
1.绑定到List,然后通过列表头双击
事件
来对数据
排序
,然后再重新绑定到
DataGridView
,此方式列表头上面不会出现向上向下箭头
2 绑定到DataTable,此方式会自动可以通过双击列头
实现
排序
,并且会出现向上向下箭头
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawi
使用
C#
WinForm
中的
DataGridView
控件,可以通过以下代码将数据赋值给
DataGridView
:
1. 准备数据源:可以使用 DataTable、DataSet 或 List 等数据类型作为数据源。
2. 设置
DataGridView
的 DataSource 属性为准备好的数据源。
3. 可以通过代码设置
DataGridView
中列的属性,例如列标题、列宽、是否可编辑等。
4. 如果需要,可以通过代码添加按钮、复选框等控件到
DataGridView
中。
下面是一个简单的示例代码,演示如何将 DataTable 赋值给
DataGridView
:
```csharp
// 准备数据源
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Age", typeof(int));
dt.Rows.Add(1, "Tom", 25);
dt.Rows.Add(2, "Mary", 30);
dt.Rows.Add(3, "John", 40);
// 设置
DataGridView
的 DataSource 属性
dataGridView
1.DataSource = dt;
// 设置
DataGridView
中列的属性
dataGridView
1.Columns[0].HeaderText = "编号";
dataGridView
1.Columns[1].HeaderText = "姓名";
dataGridView
1.Columns[2].HeaderText = "年龄";
dataGridView
1.Columns[2].Width = 60;
dataGridView
1.Columns[2].ReadOnly = true;
上述代码将 DataTable 赋值给了
DataGridView
,并设置了列标题、列宽和只读属性。如果需要在
DataGridView
中添加按钮或复选框,可以使用
DataGridView
ButtonColumn 或
DataGridView
CheckBoxColumn 等列类型。