0
GridView
中有一個DropDownlist
,只有在單擊編輯時才應該可見。我從後面的代碼綁定了DropDownList
。當我點擊編輯時,該單元格的標籤值應該自動在DropDownList
中被選中。如何使DropDownList自動根據Label.Text選擇
我已經嘗試的代碼是:
protected void GridView3_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
SqlCommand cmd = new SqlCommand("SELECT Location_Name FROM Location_Table");
DropDownList bind_drop = (e.Row.FindControl("DropList") as DropDownList);
bind_drop.DataSource = this.ExecuteQuery(cmd, "SELECT");
bind_drop.DataTextField = "Location_Name";
bind_drop.DataValueField = "Location_Name";
bind_drop.DataBind();
string Loc_type = (e.Row.FindControl("id2") as Label).Text.Trim();
bind_drop.Items.FindByValue(Loc_type).Selected = true;
}
}
當我運行的代碼,它提供了一個異常錯誤對象引用未設置在上面的代碼的最後一行。 無法找出什麼是錯的。請幫助
您應該向我們展示GridView的相關部分。爲什麼不使用'e.Row.DataItem'來代替,爲什麼你要爲每個'GridViewRow'選擇所有位置? –
錯誤很可能是因爲'Loc_type'中的值不是選擇列表中的值。也可能是由於'e.Row.FindControl(「id2」)'找不到具有該ID的控件。與e.Row.FindControl(「DropList」)相同。 – Gromer
@Gromer我已經確定'Loc_type'是列表中的項目。我已經使用了我在aspx代碼中使用的確切ID。我再次檢查。 –