【问题标题】:How can I set textbox to read only using a Telerik Radgrid UserControl如何使用 Telerik Radgrid UserControl 将文本框设置为只读
【发布时间】:2020-09-10 14:00:53
【问题描述】:

我有一个 Telerik RadGrid,它使用用户控件来编辑插入。像这样配置

 <MasterTableView AutoGenerateColumns="false" CommandItemDisplay="Top"
                        DataKeyNames="Form_UsageId" Font-Size="Medium"
                        NoMasterRecordsText="No Transfer Locker Records Added" InsertItemPageIndexAction="ShowItemOnCurrentPage"
                        CommandItemSettings-AddNewRecordText="Add New Transfer Locker Entry">
                        <Columns>
                            <telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn"></telerik:GridEditCommandColumn>
                            <telerik:GridBoundColumn UniqueName="CaseNumber" HeaderText="Case Number" DataField="CaseNumber"></telerik:GridBoundColumn>
                            <telerik:GridBoundColumn UniqueName="ItemCount" HeaderText="# of Items" DataField="ItemCount"></telerik:GridBoundColumn>
                            <telerik:GridBoundColumn UniqueName="PersonFor" HeaderText="Person Intended For" DataField="PersonIntendedFor"></telerik:GridBoundColumn>
                            <telerik:GridBoundColumn UniqueName="PersonAdding" HeaderText="Person Putting In" DataField="PersonAdding"></telerik:GridBoundColumn>
                            <telerik:GridDateTimeColumn DataField="DateIn" HeaderText="Date Put In"
                                PickerType="DatePicker" EnableTimeIndependentFiltering="true" DataFormatString="{0:MM/dd/yyyy}">
                            </telerik:GridDateTimeColumn>
                            <telerik:GridBoundColumn UniqueName="TotalDays" HeaderText="# Days Open" DataField="TotalDays"></telerik:GridBoundColumn>
                        </Columns>
                        <EditFormSettings UserControlName="TransferLockerUserControl.ascx" EditFormType="WebUserControl" PopUpSettings-Modal="false">
                            <EditColumn UniqueName="EditCommandColumn1"></EditColumn>
                        </EditFormSettings>
                    </MasterTableView>

我正在使用用户控件来编辑记录,我需要将一些文本框设置为只读。这是我尝试过的

if (e.Item.IsInEditMode && e.Item is GridEditableItem)
        {
            if (e.Item.ItemIndex == -1)
            {
                // insert
                GridEditableItem item = e.Item as GridEditableItem;

            }
            else
            {
                // edit
                GridEditableItem item = e.Item as GridEditableItem;
                (item["CaseNumber"].Controls[0] as TextBox).ReadOnly = true;
            }

        }

这会失败并产生错误

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: telerik telerik-grid


    【解决方案1】:

    我已经找到了这个问题的答案,我在下面发布了工作代码。

    if (e.Item.IsInEditMode && e.Item is GridEditableItem)
            {
                if (e.Item.ItemIndex == -1)
                {
                    // insert
                    GridEditableItem item = e.Item as GridEditableItem;
    
                }
                else
                {
                    // edit
                    GridEditableItem item = e.Item as GridEditableItem;
                    UserControl userControl = (UserControl)e.Item.FindControl(GridEditFormItem.EditFormUserControlID);
                    TextBox txt = (TextBox)userControl.FindControl("txtCaseNumber"); //access TextBox here
                    txt.ReadOnly = true;
                }
    
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-30
      • 1970-01-01
      • 2011-02-02
      • 1970-01-01
      • 2020-05-09
      相关资源
      最近更新 更多