ADI@345 Ответов: 1

Имя не является ни datacolumn, ни datarelation для таблицы .


Я не могу получить Предыдущее значение в выпадающем списке, когда нажимаю на кнопку edit в gridview.

Что я уже пробовал:

if (e.Row.RowType == DataControlRowType.DataRow && gvcallRegister.EditIndex == e.Row.RowIndex)
      {

           if ((e.Row.RowState & DataControlRowState.Edit) > 0)
           {
          using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
          {
              DropDownList ddlprod = (DropDownList)e.Row.FindControl("DropDownList1");
              con.Open();

              SqlCommand cmd = new SqlCommand("select name from registeruser where dept='Sales'", con);
              SqlDataAdapter da = new SqlDataAdapter(cmd);
              DataSet ds = new DataSet();
              da.Fill(ds);
              ddlprod.DataSource = ds;
              ddlprod.DataTextField = "name";
              ddlprod.DataValueField = "name";
              ddlprod.DataBind();

              DataRowView dr = e.Row.DataItem as DataRowView;
              ddlprod.SelectedValue = dr["name"].ToString();// default selected value

                  }
              }

          }
      }

1 Ответов

Рейтинг:
0

OriginalGriff

Посмотрите на сообщение об ошибке:

Цитата:
Имя не является ни datacolumn, ни datarelation для таблицы
Затем посмотрите на свой код:
              SqlCommand cmd = new SqlCommand("select name from registeruser where dept='Sales'", con);
...
              ddlprod.DataTextField = "name";
              ddlprod.DataValueField = "name";
...
              ddlprod.SelectedValue = dr["name"].ToString();
Теперь проверьте свою БД: есть ли у нее столбец под названием "имя" в таблице "registeruser"? Если это так, используйте отладчик, чтобы проверить DataRowView и точно увидеть, какие ячейки он содержит. Есть ли здесь "имя"?

В сообщении об ошибке говорится, что один из них этого не делает.