gridview中数据排列问题!!急 gridview中数据排列已经实现的情况下如何实现让鼠标点击某一字段让他升序右侧就显示一个向上的尖头,在点下就切换成降序是他显示一个向下的尖头??如产品名↑,在点下为产品名↓ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 gridview的列属性里有sortMode,设其属性为Automatic就行了 //点击列头 private void dataGridViewList_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { if (e.ColumnIndex == 1) { if (animalSortOrder == SortOrder.Ascending) { animalSortOrder = SortOrder.Descending; } else { animalSortOrder = SortOrder.Ascending; } if (dataGridViewList.DataSource != null) { ( dataGridViewList.DataSource as List<LocalLog> ).Sort(new Comparison<LocalLog>(LocalLogComparsion)); } dataGridViewList.Columns[1].HeaderCell.SortGlyphDirection = animalSortOrder; dataGridViewList.Refresh(); } }//排序算法 static int LocalLogComparsion(LocalLog log1, LocalLog log2) { int sortOrderModifier = 1; if (animalSortOrder == SortOrder.Ascending) { sortOrderModifier = 1; } else if (animalSortOrder == SortOrder.Descending) { sortOrderModifier = -1; } if (log1.OpTime == log2.OpTime) { return 0; } else if (log1.OpTime > log2.OpTime) { return sortOrderModifier; } else { return sortOrderModifier * -1; } }希望对你有用。 你要对那列排序,在ColumnHeaderMouseClick就处理哪列。排序算法是你如何对改列的数据排序,返回小于0的数,0,大于0的数就行。 新手求助:winfrom怎么加载音乐在窗体啊? 怎样判断是否最后一条记录 如何单独使用WebBrowser类。 一个急需解决的问题!!!!!!!谢谢!!!!!!!! 网络编程高手请进 新手问题 〔初学Socket〕异步Socket和同步Socket的区别是什么?? C#如何实现象手机发消息(高分相赠) 100分提问关于系统冻结问题 ASP.NET中如何连接其它服务器上的数据库(端口为2433) c#怎样取得word中的textbox C#不能获取datagridview中的值???
private void dataGridViewList_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { if (e.ColumnIndex == 1) { if (animalSortOrder == SortOrder.Ascending) {
animalSortOrder = SortOrder.Descending;
}
else {
animalSortOrder = SortOrder.Ascending;
}
if (dataGridViewList.DataSource != null) {
( dataGridViewList.DataSource as List<LocalLog> ).Sort(new Comparison<LocalLog>(LocalLogComparsion));
}
dataGridViewList.Columns[1].HeaderCell.SortGlyphDirection = animalSortOrder;
dataGridViewList.Refresh();
}
}//排序算法
static int LocalLogComparsion(LocalLog log1, LocalLog log2) {
int sortOrderModifier = 1;
if (animalSortOrder == SortOrder.Ascending) {
sortOrderModifier = 1;
}
else if (animalSortOrder == SortOrder.Descending) {
sortOrderModifier = -1;
} if (log1.OpTime == log2.OpTime) {
return 0;
}
else if (log1.OpTime > log2.OpTime) {
return sortOrderModifier;
}
else {
return sortOrderModifier * -1;
} }希望对你有用。