今天就跟大家聊聊有關C#中怎么實現一個DataGrid排序功能,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
十多年的喀什網站建設經驗,針對設計、前端、開發、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。網絡營銷推廣的優勢是能夠根據用戶設備顯示端的尺寸不同,自動調整喀什建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優雅布局與設計,從而大程度地提升瀏覽體驗。成都創新互聯從事“喀什網站設計”,“喀什網站推廣”以來,每個客戶項目都認真落實執行。
在.Net 中C#實現DataGrid排序功能,但并不支持雙向的排序。用到了,看了些相關的帖子,自己嘗試了一種方法。竟然也行得通,主要是用DataGrid.Attributes 存了一個參數,同時在onSortCommand中修改了DataGridColumn的SortExpression. 代碼如下:
private void BindData()
{
DataTable dt = .......;
if(dt != null)
{
DataView dv = dt.DefaultView;
if(DataGrid1.Attributes["SortBy"] != null)
{
dv.Sort = DataGrid1.Attributes["SortBy"];
}
DataGrid1.DataSource = dv;
DataGrid1.DataBind();
}
}
private void DataGridSort(object source, System.Web.UI.
WebControls.DataGridSortCommandEventArgs e){
DataGrid1.Attributes["SortBy"] = sortstr;
this.BindData();
//找到排序的列,并修改把它的排序屬性
DataGridColumn clm = null;
for(int i=0;i
;i++) {
if(DataGrid1.Columns[i].SortExpression == e.SortExpression )
{
clm = DataGrid1.Columns[i];
break;
}
}
if(clm == null) return;
if(e.SortExpression.ToLower().IndexOf("desc") > 0)
{
clm.SortExpression = e.SortExpression.ToLower().Replace("desc","asc");
}
else
{
if(e.SortExpression.ToLower().IndexOf("asc") > 0)
{
clm.SortExpression = e.SortExpression.ToLower().Replace("asc","desc");
}
else
{
clm.SortExpression = e.SortExpression.ToLower() + " desc";
}
}
}
看完上述內容,你們對C#中怎么實現一個DataGrid排序功能有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注創新互聯行業資訊頻道,感謝大家的支持。