簡體   English   中英

對ADO.NET數據表進行排序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM