我有一些代码将SharePoint列表项绑定到文本框。但我只得到绑定一个项目的代码。我的列表包含两列(ID和名称):
*ID Name*
1 Steven
2 Joe
3 Henry
此代码从第一项中挑选出“名称”字段(这意味着我的文本框将显示“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)
等但无法找到任何内容。
答案 0 :(得分:1)
使用while循环,它应遍历所有“Name”值。
if (list.GetItems(query).GetDataTable() != null)
{
using (DataTableReader rdr = list.GetItems(query).GetDataTable().CreateDataReader())
{
while (rdr.Read())
{
TextBox1.Text = rdr["Name"].ToString();
}
}
}
另外,您应该使用using statement
来确保在DataTableReader上调用Dispose()
和Close()
。