繁体   English   中英

如何在GridView中显示数据集的特定行

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM