如何将dropdownlist值设置为datatable

时间:2014-02-14 07:43:58

标签: asp.net database dropdownbox

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)附近收到错误...任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

示例,如果您的下拉菜单如下:

                      

您想要在表格中添加第一项。你可以这样做:

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

所有这些条件都可以使用上面的DropDownList

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

答案 1 :(得分: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);
      }
 }