您可以帮助我进行两种方式绑定(bind):在表中显示枚举值并从下拉列表中选择编辑模式下的选项吗?
<telerik:RadGrid>
<MasterTableView>
<Columns>
<telerik:GridDropDownColumn DataField="MyEnumProperty" />
</Columns>
<telerik:RadGrid>
使用上面的代码,它不会在表中显示当前值,也不会填充下拉列表(它是空的)。
最佳答案
很抱歉回答我自己的问题,但当我开始工作时...... 我采用了 @Balaji 的方法 2,但必须进行一些改进,以便将所有内容集中在一处:
查看部分:
<telerik:GridTemplateColumn HeaderText="My header" UniqueName="uniqueName" AllowFiltering="true">
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem, "MyEnumProperty")%>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadComboBox name="myComboId" Id="myComboId" runat="server">
</telerik:RadComboBox>
</EditItemTemplate>
</telerik:GridTemplateColumn>
隐藏代码:
var dataItem = e.Item as GridEditFormItem;
if (dataItem != null)
{
{
var comboBox = dataItem.FindControl("myComboId") as RadComboBox;
if (comboBox != null)
{
var value = DataBinder.Eval(dataItem.DataItem, "MyEnumProperty").ToString();
comboBox.DataSource = Enum.GetValues(typeof(MyEnumProperty));
comboBox.DataBind();
var selectedItem = comboBox.FindItemByText(value);
comboBox.SelectedIndex = selectedItem.Index;
}
}
}
关于c# - 如何将枚举绑定(bind)到 telerik :RadGrid in ASP WebForms,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39890919/