關於DataGrid Web控件的熱門問題__連載之七 - 中國WEB開發者網絡 (http://www.webasp.net) -- 技術教程 (http://www.webasp.net/article/) --- 關於DataGrid Web控件的熱門問題__連載之七 (http://www.webasp.net/article/18/17439.htm) |
| -- 作者:未知 -- 發佈日期: 2005-04-12 |
| 多數情況下,你可能要設定Drop-Down List中的選定項來匹配特定值——通常是顯示模式中的單元格的值。你可以將它的SelectedIndex屬性設定成你想要顯示的值的索引值來實現。 下例在DataGrid Item的ItemDataBound事件句柄中採取了一種可靠的方式來實現它。這樣使用這個事件是正確的,因為它保證了Drop-Down List已經被生成,不管它使用了什麼數據源。 技巧在於要知道綁定到Drop-Down List上的值。典型情況下,這個值已經提供給你,要麼是在當前的item中,要麼是在它的DataItem 屬性中,item返回一個包含當前記錄的DataRowView 對象。一旦有了這個值,可以通過Drop-Down List的FindByText 或者FindByValue 方法來定位當前項,然後使用item的IndexOf屬性來返回索引。 private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { if(e.Item.ItemType == ListItemType.EditItem){ DataRowView drv = (DataRowView) e.Item.DataItem; String currentgenre = drv["genre"].ToString(); DropDownList ddl = (DropDownList) e.Item.FindControl("DropDownList1"); ddl.SelectedIndex = ddl.Items.IndexOf(ddl.Items.FindByText(currentgenre)); } } |
| webasp.net |