Как установить значения выпадающего списка в 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";