我在使用 telerik radgrid 控件时遇到问题。当网格处于编辑模式时,我正在尝试使用 javascript 访问文本框。
我的代码如下所示:
<telerik:RadGrid ID="RadGrid1" GridLines="None" runat="server" AllowAutomaticDeletes="True"
AllowSorting="False" AllowAutomaticInserts="True" PageSize="10" AllowAutomaticUpdates="True"
OnItemDataBound="RadGrid1_ItemDataBound" AllowMultiRowEdit="False" AllowPaging="False"
DataSourceID="DataSource1" OnItemUpdated="RadGrid1_ItemUpdated" AllowFilteringByColumn="False"
OnItemDeleted="RadGrid1_ItemDeleted" OnItemInserted="RadGrid1_ItemInserted" AutoGenerateColumns="false"
OnDataBound="RadGrid1_DataBound">
<PagerStyle Mode="NextPrevAndNumeric" />
<MasterTableView Width="100%" CommandItemDisplay="TopAndBottom" DataKeyNames="Id"
DataSourceID="DataSource1" HorizontalAlign="NotSet" EditMode="EditForms">
<Columns>
<telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn">
<ItemStyle CssClass="MyImageButton" />
</telerik:GridEditCommandColumn>
<telerik:GridButtonColumn ConfirmText="Delete this product?" ConfirmDialogType="RadWindow"
ConfirmTitle="Delete" ButtonType="ImageButton" CommandName="Delete" Text="Delete"
UniqueName="DeleteColumn">
<ItemStyle HorizontalAlign="Center" CssClass="MyImageButton" />
</telerik:GridButtonColumn>
<telerik:GridBoundColumn DataField="Id" HeaderText="Id" Display="false" ReadOnly="true" />
<telerik:GridBoundColumn DataField="Manufacturer" HeaderText="Manufacturer" />
<telerik:GridBoundColumn DataField="Description" HeaderText="Description" />
<telerik:GridBoundColumn DataField="Configuration" HeaderText="Configuration" />
<telerik:GridDropDownColumn DataField="TypeId" HeaderText="Type" UniqueName="PartsType"
DataSourceID="PartsTypeDataSource" ListTextField="Name" ListValueField="Id" />
我所追求的是,在编辑模式下,当用户从下拉列表 'PartsType' 中选择某个值时,其他字段之一 - 例如 'Manufacturer' 将显示/隐藏。
我可以通过将 javascript 函数附加到下拉列表来获取下拉值(在 javascript 中):
function PartsTypeIndexChanged(sender, args) {
var selectedValue = args.get_item()._text;
}
我只是不知道用什么方法来获取'Manufacturer'字段,所以我可以显示/隐藏它。
有人可以帮忙吗?
非常感谢。
最佳答案
一种可能的方法是使用 RadControls 客户端静态 API
$telerik.findElement(gridDOMElement, "Manufacturer");
这将帮助您访问列编辑器 - 我想它是作为输入呈现的 ASP.NET TextBox。对于数字或日期列,编辑器可能是 Telerik 客户端组件,因此您必须使用 findControl 而不是 findElement。
更多信息在这里: http://www.telerik.com/help/aspnet-ajax/telerik-static-client-library.html
祝你好运
关于c# - RadGrid - 在编辑模式下获取文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9526421/