我在 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
值,而不是列索引。您的代码尝试在假定的现有排序 char
中读取第 6 个 string
,仅此而已!
用
dtClientMedications.DefaultView.Sort = "SortOrder";
数据绑定(bind)前。
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
关于c# - 对 ADO.NET 数据表进行排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7315339/