0

我有一些代码将 SharePoint 列表项绑定到文本框。但我只得到了绑定一项的代码。我的列表包含两列(ID 和名称):

*ID Name*

1 Steven

2 Joe

3 Henry

此代码从第一项中挑选出 Name 字段(这意味着我的文本框将显示“Steven”:

try
{
    SPQuery query = new SPQuery();
    query.Query = "";
    query.ViewFields = "";
    query.RowLimit = 100;

    using (SPSite site = new SPSite(SPContext.Current.Web.Url))
    {
        using (SPWeb web = site.OpenWeb())
        {
            SPList list = web.Lists.TryGetList("Employee List");

            if (list != null)
            {
                 if (list.GetItems(query).GetDataTable() != null)
                 {
                     DataTableReader rdr = list.GetItems(query).GetDataTable().CreateDataReader();

                     if (rdr.Read())
                     {
                         TextBox1.Text = rdr["Name"].ToString();

                         rdr.Close();
                     }
                 }
            }
        }
    }
}

如何选择其余的名称?我正在考虑一个 if 语句来检查if field = ID (1, 2, 3)等,但找不到任何东西。

4

1 回答 1

1

使用 while 循环,它应该遍历所有“名称”值。

if (list.GetItems(query).GetDataTable() != null)
{
    using (DataTableReader rdr = list.GetItems(query).GetDataTable().CreateDataReader())
    {
        while (rdr.Read())
        {
            TextBox1.Text = rdr["Name"].ToString();
        }
    }
}

另外,您应该使用 ausing statement来确保在 DataTableReader 上调用Dispose()Close()调用两者。

于 2013-10-23T12:41:10.733 回答