我正在使用一个表(为了这个问题的目的)有2列。一列可以取值1,2,3,4或5(仅用于指示另一列中的数据类别 - 可能有5个类别)。另一列中只有一个字符串,例如“Grant1”。
文本列的标题是“标题”,整数列的标题是“类别”
我需要做的是根据Category列对行进行排序,然后将每行中的所有数据放在C#中的列表中。这样我以后可以使用List来查看属于该类别的所有Title数据。
这是我到目前为止所做的:
DataTable dt = AnimalGrants.Tables["AnimalGrants"];
string columnName = "Title";
List<string> ListOfAnimalGrantTitles = new List<string>();
int i = 0;
foreach (DataRow dr in dt.Rows)
{
ListOfAnimalGrantTitles.Add(dr.Table.Columns[i].ToString());
}
我所拥有的功能不正常...我希望在上传之前确定其有效。任何SQL或C#专家都可以帮助我理解如何实现这一目标吗?我想我在这里有一个好的开始,但我害怕陷入语法错误。
DataSet AnimalGrants = tp.GetItems("CFHudsonGrants", "WHERE Category = 1;", "");
答案 0 :(得分:0)
我有点困惑,但下面的代码应该在第一列中创建一个值列表,但是按照第2列中的值对该列表进行排序:
DataTable dt = AnimalGrants.Tables["AnimalGrants"];
string columnName = "Title";
List<string> ListOfAnimalGrantTitles = new List<string>();
int i = 0;
foreach (DataRow dr in dt.Rows.Cast<DataRow>().OrderBy(t => t[1]))
{
ListOfAnimalGrantTitles.Add(dr[0]);
}
那就是说,你可能最好只在SQL查询中对它进行排序......