[英]Accessing RadComboBox in codebehind from a RadGrid
從RadGrid內聯編輯時,我無法抓住RadComboBox。 當我嘗試通過此GridEditableItem查找正確的控件時,我總是收到null。 誰能為我提供一些如何從下面的代碼訪問RadCombobox的指針?
我的ascx.cs文件:
<telerik:RadGrid runat="server" ID="grid_AccessRecords"
AllowPaging="True"
AllowSorting="True"
Visible="False"
Width="100%"
PageSize="25"
OnItemCommand="AccessRecordsGridOnItemCommand"
OnNeedDataSource="AccessRecordGridNeedDataSource">
<PagerStyle Position="TopAndBottom" />
<ClientSettings EnableRowHoverStyle="true" />
<MasterTableView DataKeyNames="Id" AutoGenerateColumns="False" EditMode="EditForms">
<Columns>
<telerik:GridTemplateColumn HeaderText="Eign" UniqueName="tmp_AccessGroup">
<ItemTemplate>
<asp:label runat="server" ID="lbl_accessGroupName" Text='<%# Eval("AccessGroupName") %>' />
</ItemTemplate>
<EditItemTemplate>
<telerik:RadComboBox runat="server" ID="combo_editAccessGroup"></telerik:RadComboBox>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridEditCommandColumn UniqueName="EditCommandColumn" EditText="edit" ButtonType="ImageButton" EditImageUrl="/_layouts/images/AFLSharepoint2010/Edit.gif" />
<telerik:GridButtonColumn CommandName="Delete" Text="delete" ConfirmText="Are you sure?" ConfirmDialogType="RadWindow" ConfirmTitle="Delete"
ButtonType="ImageButton" UniqueName="DeleteColumn" ImageUrl="/_layouts/images/AFLSharepoint2010/Delete.gif" />
</Columns>
<EditFormSettings ColumnNumber="1" CaptionDataField="Id" CaptionFormatString="derp">
EditColumn ButtonType="ImageButton" InsertText="Save" UpdateText="Save" UniqueName="EditCommandColumn" CancelText="Cancel" />
</EditFormSettings>
</MasterTableView>
</telerik:RadGrid>
我的cs文件:
protected void AccessRecordsGridOnItemCommand(object sender, GridCommandEventArgs e)
{
GridEditableItem editableItem = e.Item as GridEditableItem;
if (editableItem != null)
{
RadComboBox comboEditAccessGroup = (RadComboBox) editableItem.FindControl("combo_editAccessGroup");
//TODO: find out why always null???
}
}
如果改用OnItemCreated
方法,則應該可以訪問組合框:
protected void AccessRecordsGrid_OnItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e)
{
if (e.Item is GridEditableItem && e.Item.IsInEditMode)
{
//the item is in edit mode
GridEditableItem editedItem = e.Item as GridEditableItem;
RadComboBox comboEditAccessGroup = (RadComboBox)editedItem.FindControl("combo_editAccessGroup");
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.