Program.X 描述的方法非常好。当然,如果您在 RadGrid 的 GridTemplateColumn 内使用 RadCombobox,这将有效。
RadGrid 还提供了一个内置功能GridDropDownColumn
,可以在编辑期间自动呈现 RadCombobox。如果选择使用内置列类型,则需要以编程方式为渲染的 RadGrid 设置客户端事件处理程序,如下所示:
protected void RadGrid1_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e)
{
//Find GridEditableItems when in Edit mode
if (e.Item is GridEditableItem && e.Item.IsInEditMode)
{
//Get reference to item (i.e. Row)
var item = e.Item as GridEditableItem;
//Get reference to auto-generated RadCombobox in
//specific column (in this case, a column called Title)
var rcb = item["Title"].Controls[0] as RadComboBox;
if (rcb == null)
return;
//Customize the RadCombobox properities
rcb.OnClientSelectedIndexChanged = "onselectedindexchanged";
}
}
其中“onselectedindexchanged”是页面上旨在处理 RadCombobox 事件的客户端 JavaScript 函数的名称。
这些方法中的任何一种都应该使您能够实现目标。