[英]Sorting a ADO.NET Datatable
我在C#中有一個數據表。
DataTable dtClientMedications = new DataTable();
dtClientMedications.Columns.Add("Id");
dtClientMedications.Columns.Add("MedId");
dtClientMedications.Columns.Add("BrandName");
dtClientMedications.Columns.Add("GenericName");
dtClientMedications.Columns.Add("Type");
dtClientMedications.Columns.Add("Dosage");
dtClientMedications.Columns.Add("Status");
dtClientMedications.Columns.Add("SortOrder");
我想按列SortOrder排序並將其分配給gridview。 我用過這個:
gdvMainList.DataSource = dtClientMedications.DefaultView.Sort[7];//dtClientMedications;
gdvMainList.DataBind();
但它給出了索引超出范圍的異常。
您實際上缺少Sort
屬性。
這是您要排序的表達式。 string
值,而不是列的索引。 您的代碼嘗試在假定的現有排序string
讀取第6個char
,不再需要!
使用
dtClientMedications.DefaultView.Sort = "SortOrder";
在數據綁定之前。
gdvMainList.DataSource = dtClientMedications.DefaultView; // You may not need to mention view
gdvMainList.DataBind();
。
文檔: http : //msdn.microsoft.com/en-us/library/system.data.dataview.sort.aspx
Sort
是字符串屬性。
使用,
dtClientMedications.DefaultView.Sort="ID"
您可以對表本身中的列進行排序:
dtClientMedications.Columns["SortOrder"].SetOrdinal(0);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.