我在使用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'中选择某个值时,其他字段之一 - 例如'制造商'< / strong>将显示/隐藏。
我可以通过将javascript函数附加到下拉列表来获取下拉值(在javascript中):
function PartsTypeIndexChanged(sender, args) {
var selectedValue = args.get_item()._text;
}
我只是不知道使用哪种方法来获取'制造商'字段,因此我可以显示/隐藏它。
有人可以帮忙吗?
非常感谢。
答案 0 :(得分:1)
可能的方法是使用RadControls客户端静态API
$telerik.findElement(gridDOMElement, "Manufacturer");
这将帮助您访问列编辑器 - 我想它是作为输入呈现的ASP.NET TextBox。对于数字或日期列,编辑器可能是Telerik客户端组件,因此您必须使用findControl而不是findElement。
更多信息: http://www.telerik.com/help/aspnet-ajax/telerik-static-client-library.html
祝你好运答案 1 :(得分:1)