关于DataGrid Web控件的热门问题__连载之七

王朝c#·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

预选中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));

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航