2013-10-23 62 views
0

我有一些代碼將SharePoint列表項綁定到文本框。但我只有代碼綁定一個項目。我的目錄包含兩列(ID和名稱):以編程方式選擇並綁定Sharepoint列表項

*ID Name* 

1 Steven 

2 Joe 

3 Henry 

此代碼挑選出從第一個項目的名稱字段(這意味着我的文本框將顯示「史蒂芬」:

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)等,但沒有找到任何東西出來。

回答

1

使用while循環,它應該遍歷所有的「名稱」值。

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

另外,您應該使用using statement以確保Dispose()Close()都在DataTableReader上調用。

+0

非常感謝!我通過使用foreach循環來解決它,實際上我不需要查詢。 – user2881765

相關問題