我有一個ListView
與EditItemTemplate
調用方法onItemEditing
。ListView包含CheckBoxList - 選擇的項目不顯示爲檢查
在我的ListView
我有一個CheckBoxList
綁定使用LINQ
。
在我的onItemEditing
方法中,我試圖檢查某些CheckBoxes
,如果它們出現在鏈接用戶與扇區的查找表中。
然而,當我加載EditItemTemplate
沒有CheckBoxes
,儘管我已經將它們設置爲在onItemEditing
方法選擇被選中。
這裏的方法:
protected void onItemEditing(object sender, ListViewEditEventArgs e)
{
ListView1.EditIndex = e.NewEditIndex;
ListView1.DataBind();
int regId = Convert.ToInt32(((Label)ListView1.Items[e.NewEditIndex].FindControl("LblRegId")).Text);
CheckBoxList cbl = (CheckBoxList) ListView1.Items[e.NewEditIndex].FindControl("chkLstSectors");
//test to see if forcing first check box to be selected works - doesn't work
cbl.Items[0].Selected = true;
SqlConnection objConn = new SqlConnection(ConfigurationManager.ConnectionStrings["DaresburyConnectionString"].ToString());
SqlCommand objCmd = new SqlCommand("select * from register_sectors where register_id= " + regId, objConn);
objConn.Open();
SqlDataReader objReader = objCmd.ExecuteReader();
if (objReader != null)
{
while (objReader.Read())
{
ListItem currentCheckBox = cbl.Items.FindByValue(objReader["sector_id"].ToString());
if (currentCheckBox != null)
{
currentCheckBox.Selected = true;
}
}
}
}
任何想法如何解決這個問題?
你在哪裏創建控件?在加載時,在init? – 2009-07-30 03:46:42