[英]How To Display Specific Row Of The DataSet in The GridView
我有表“数据”。
ID | Name | Params |
--------------------------
1 | a | 233 |
22 | a | 34 |
123| a | 123 |
839| a | 2344 |
--------------------------
我使用以下SQL从表中检索数据:
"SELECT * FROM Data WHERE Name='" + Name + "'"
Adapter.Fill(Data);
DataList.Add(Data);
Return Data;
如果我想一次在GridView中显示所有内容,则一切正常,但是,我希望仅显示数据集的特定行。
问题:给定索引后,如何显示数据集的特定行?
以下示例显示一个错误:
Gridview.DataSource = UserDataList.Tables[0].Rows[1];
先感谢您。
您不能这样做,因为UserDataList.Tables[0].Rows[1]
返回单行,但是gridview的数据源需要IEnumerable或像行这样的数据集合。 您可以使用LINQ过滤数据表,如下所示:-
Gridview.DataSource = UserDataList.Tables[0].AsEnumerable()
.Where((v, i) => i == 0).CopyToDataTable();
我使用了Where扩展方法。 在这里, i
是表中行的索引。 您可以通过提供正确的索引来获取任何行。 另外,一件好事是您可以根据希望的任何列来过滤表。
尝试这个
ds
表示此处的数据集。
使用索引
ds.Tables[0].Rows[0][4].ToString();
使用列名
ds.Tables[0].Rows[0]["columnname"].ToString()
首先,您将DataTable转换为DataView就像
DataView dv = new DataView(dt);
然后像这样应用过滤器查询
dv.RowFilter = "id=10";
最后将其转换回表格
DataTable newtbl = dv.ToTable();
此newtbl将包含已过滤的数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.