DataGridView排序..
来源:互联网 发布:电脑打单软件 编辑:程序博客网 时间:2024/04/28 05:17
在使用过程中..DataGridView的列为字符类型..
如
dataGridView1.Columns.Add("123", "33");
dataGridView1.Rows.Add(8);
dataGridView1.Rows[0].Cells[0].Value = "10";
dataGridView1.Rows[1].Cells[0].Value = "5";
dataGridView1.Rows[2].Cells[0].Value = "11278.0";
dataGridView1.Rows[3].Cells[0].Value = "201";
dataGridView1.Rows[4].Cells[0].Value = "22";
dataGridView1.Rows[5].Cells[0].Value = "320";
dataGridView1.Rows[6].Cells[0].Value = "1.45";
dataGridView1.Rows[7].Cells[0].Value = "0.950";
我们要对这样的列进行排序
使用 ColumnHeaderMouseClick事件
private void dataGridView1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.ColumnIndex == 0)
{
//System.Windows.Forms.DataGridViewColumnHeaderCell
if (dataGridView1.Columns[0].HeaderCell.SortGlyphDirection == SortOrder.Ascending)
{
dataGridView1.Columns[0].HeaderCell.SortGlyphDirection = SortOrder.Descending;
dataGridView1.Sort(new DataGridViewComparer(dataGridView1.Columns[0]));
}
else
{
dataGridView1.Columns[0].HeaderCell.SortGlyphDirection = SortOrder.Ascending;
dataGridView1.Sort(new DataGridViewComparer(dataGridView1.Columns[0]));
}
}
}
具体代码
/// <summary>
/// DataGridView排序
/// zgke@sina.com
/// qq:116149
/// </summary>
public class DataGridViewComparer : IComparer
{
private DataGridViewColumn m_Column;
/// <summary>
/// dataGridView1.Columns[0].HeaderCell.SortGlyphDirection = SortOrder.Descending; 根据这个进行排序列
/// </summary>
/// <param name="p_Column"></param>
public DataGridViewComparer(DataGridViewColumn p_Column)
{
m_Column = p_Column;
}
int IComparer.Compare(Object x, Object y)
{
if (m_Column == null) return -1;
decimal _X;
decimal _Y;
bool _XConvert = decimal.TryParse(((DataGridViewRow)x).Cells[m_Column.Name].Value.ToString(), out _X);
bool _YConvert = decimal.TryParse(((DataGridViewRow)y).Cells[m_Column.Name].Value.ToString(), out _Y);
int _CompareValue = _X.CompareTo(_Y);
if (m_Column.HeaderCell.SortGlyphDirection == SortOrder.Descending) return _CompareValue * -1;
return _CompareValue;
}
}
- DataGridView排序..
- DatagridView排序
- C# 禁止DataGridView排序
- C# 禁止DataGridView 排序
- DataGridView自定义排序
- DataSet,DataTable,DataGridView排序
- 不允许dataGridView 排序
- .NET DataGridView列排序
- DataGridView 列有三种排序模式
- DataGridView列排序
- winform datagridview 禁止排序
- datagridview列排序
- C# DataGridView排序
- dataGridView 新增自动排序
- datagridview 列排序问题
- datagridview 列排序问题
- 自定义DataGridView中排序方式
- 关于datagridview拖放行排序
- PC 机上安装 MAC OSX 苹果操作系统(非PPC模拟器)详细说明
- struts 学习 配置
- 苹果操作系统 leopard 10.5 (PC破解完全中文安装版,IBM X40安装成功)
- 单纯记录这个技术博客的诞生日子
- 强烈推荐一个上网以来见过的最好的学习资料网站,全部免费!
- DataGridView排序..
- web程序员未来十大技能
- HTTP Status 503 - Servlet action is currently unavailable解决方法
- 如何让Outlook启动时最小化到托盘
- Flex 二维数组实例(二种方法)
- 登录时把信息存入session及注销登录时清空session同时弹出消息提示注销成功
- AOIN
- 大学生要注意的事儿
- 10 Tips for Leading Your Team to Peak Performance(ZT)