预选中Drop-Down List中的一项多数情况下,你可能要设定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)); }}
本文地址:http://com.8s8s.com/it/it41334.htm