Как установить значения выпадающего списка в datatable

Есть список предметов в 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 ответа

Вам не нужно повторять элементы в раскрывающемся списке, чтобы найти выбранный элемент.

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);
      }
 }

Пример, если ваш выпадающий список выглядит следующим образом:

Вы хотите добавить первый элемент в вашу таблицу. Вы можете сделать как:

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

Все эти условия будут работать с использованием выше DropDownList

if(ddl.SelectedValue == "1")
if(ddl.SelectedIndex == 0)
if (ddl.SelectedItem.Text == "One";
Другие вопросы по тегам