如何将数据绑定到网格 EditItemTemplate 内的 radcombobox [英] How to bind data to radcombobox inside grid EditItemTemplate
本文介绍了如何将数据绑定到网格 EditItemTemplate 内的 radcombobox的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我尝试从服务器端将数据绑定到 radcombobox:这是我的网格:
I try to bind data to a radcombobox from server side: Here is my grid:
<telerik:RadGrid ID="gvWebUsers" runat="server"
OnNeedDataSource="gvWebUsers_NeedDataSource"
OnItemCreated="gvWebUsers_ItemCreated"
Skin="Gray"
AutoGenerateColumns="false"
OnItemDataBound="gvWebUsers_ItemDataBound"
AllowAutomaticUpdates="true"
AllowPaging="true"
CssClass="SettingsGrid"
Width="99.7%">
<MasterTableView DataKeyNames="UserID" PageSize="15" EditMode="InPlace" >
<Columns>
<telerik:GridTemplateColumn HeaderText="Category" ItemStyle-Width="240px" UniqueName="Category">
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem, "IsUploadAllowed")%>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadComboBox runat="server" ID="RadComboBox2" skin="Gray">
</telerik:RadComboBox>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridEditCommandColumn FooterText="EditCommand footer" UniqueName="EditCommandColumn"
HeaderText="Edit" HeaderStyle-Width="100px" UpdateText="Update">
</telerik:GridEditCommandColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid>
我在不同的帖子和例子中看到了这个绑定代码:
I have seen this code for binding in different posts and examples:
protected void gvWebUsers_ItemDataBound(object sender, GridItemEventArgs e)
{
if (e.Item is GridEditableItem && e.Item.IsInEditMode)
{
GridEditableItem editItem = (GridEditableItem)e.Item;
RadComboBox combo = (RadComboBox)editItem.FindControl("RadComboBox2");
combo.DataSource = GetUploadStatus();
combo.DataTextField = "Key";
combo.DataValueField = "Value";
combo.DataBind();
}
}
当我运行这段代码时,它永远不会进入if"子句.任何想法为什么?我好像没有GridEditableItem".
When I run this code, it never enters inside the "if" clause. Any ideas why? It seems like I don't have " GridEditableItem ".
推荐答案
该项目不是 GridEditableItem,因为它不在 EditForm 内.
The item is not GridEditableItem because it is not inside EditForm.
我曾经使用以下方法解决这个问题:
I used to solve this problem using:
protected void gvWebUsers_ItemDataBound(object sender, GridItemEventArgs e)
{
if (e.Item is GridDataItem)
{
GridDataItem myGridItem = (GridDataItem)e.Item;
if (myGridItem.IsInEditMode)
{
RadComboBox combo = (RadComboBox)myGridItem["Category"].FindControl("RadComboBox2");
combo.DataSource = GetUploadStatus();
combo.DataTextField = "Value";
combo.DataValueField = "Key";
combo.DataBind();
combo.SelectedValue = DataBinder.Eval(myGridItem.DataItem, "UploadStatus").ToString();
}
}
这篇关于如何将数据绑定到网格 EditItemTemplate 内的 radcombobox的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文