如何解决如何使用Telerik Radgrid UserControl将文本框设置为只读
我有一个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;
}
}
这失败并产生错误
有人可以帮我解决这个问题吗?
解决方法
我已经找到了解决这个问题的答案,我已经在下面发布了工作代码。
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;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。