2014-02-14 114 views
0

drop-down list中有一個項目列表。我想在數據表中添加這些項目,同時選擇一個項目。怎麼做?我在這裏給我的代碼。如何將下拉列表值設置爲數據表

foreach (System.Web.UI.WebControls.DropDownList li in ddlAssignedTo.Items) 
      { 
       if (li.SelectedItem ==checked) 
       { 
        DataRow drUsers = dtAssigners.NewRow(); 
        drUsers["GIMID"] = GIMID; 
        drUsers["MODE"] = 'I'; 
        drUsers["UserId"] = Convert.ToInt32(li.SelectedValue); 
        drUsers["CreatedBy"] = CurUsr.UserId; 
        dtAssigners.Rows.Add(drUsers); 
       } 
      } 

我在(li.SelectedItem ==checked)附近出現錯誤......任何人都可以幫我嗎?

+0

什麼檢查? – Kashif

+0

那裏我得到錯誤..我應該寫而不是檢查? – Madhu

+0

寫真而不是檢查 – David

回答

0

例如,如果你的下拉就像是以下幾點:

您要添加在你的表的第一個項目。你可以這樣做:

if (ddl.SelectedValue == "1") 
{ 
    //Write Your Code here 
} 

所有這些條件將工作用上面的DropDownList

if(ddl.SelectedValue == "1") 
if(ddl.SelectedIndex == 0) 
if (ddl.SelectedItem.Text == "One"; 
0

你並不需要遍歷的項目在下拉找到所選項目。

var item = ddlAssignedTo.SelectedItem; 

if (item != null) 
       { 
DataRow drUsers = dtAssigners.NewRow(); 
        drUsers["GIMID"] = GIMID; 
        drUsers["MODE"] = 'I'; 
        drUsers["UserId"] = Convert.ToInt32(item.Value); 
        drUsers["CreatedBy"] = CurUsr.UserId; 
        dtAssigners.Rows.Add(drUsers); 
       } 

編輯:好吧,如果選擇了多個項目,你可以試試這個 -

foreach (ListItem item in ddlAssignedTo.Items) 
{ 
     if (item.Selected) 
     { 
     } 
} 

編輯2:如果您的下拉列表中有複選框,你是最有可能使用的checkboxlist控制。

以下代碼適合我。請比較你如何設置你的數據表。

DataTable dt = new DataTable("table1"); 
dt.Columns.Add("col1"); 
foreach(ListItem item in CheckBoxList1.Items) 
{ 
    if (item.Selected) 
    { 
      names.Add(item.Text); 
      DataRow dr = dt.NewRow(); 
      dr["col1"] = item.Text; 
      dt.Rows.Add(dr); 
     } 
} 
+0

沒有它的多選下拉列表。它包含下拉列表和複選框list.so m選擇多個項目。所以我認爲迭代是必需的。 – Madhu

+0

但它只存儲上次檢查的項目不是所有的檢查項目。 – Madhu

+0

請清楚說明如果選擇了項目會發生什麼情況。你的問題是關於如何找到物品是否被選擇,而不是特定於迭代 – NoviceProgrammer

相關問題