我正在使用Telerik网格,因为我必须在javascript中找到过滤控件及其值。请帮我。 这是aspx的示例代码
<telerik:RadGrid ShowFooter="True" ID="grdQtmItemDetails" runat="server" GridLines="None"
AllowPaging="false" AllowSorting="True" AutoGenerateColumns="False" Width="815px"
PageSize="5" Height="430px" AllowFilteringByColumn="true" OnItemDataBound="grdQtmItemDetails_ItemDataBound"
OnNeedDataSource="grdQtmItemDetails_NeedDataSource">
<PagerStyle Mode="NextPrevAndNumeric"></PagerStyle>
<MasterTableView GridLines="None" Width="250%">
<Columns>
<telerik:GridTemplateColumn HeaderText="SLNO" UniqueName="SL_NO">
<ItemTemplate>
<%# Eval("SL_NO")%>
</ItemTemplate>
<FilterTemplate>
<telerik:RadTextBox ID="txtslno" runat="server" Enabled="False" Width="100%">
</telerik:RadTextBox>
</FilterTemplate>
<HeaderStyle Width="50px" />
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Material Code" UniqueName="MTRL_CD">
<ItemTemplate>
<%# Eval("MTRL_CD")%>
</ItemTemplate>
<FilterTemplate>
<telerik:RadComboBox ID="cmbMaterialCodeTab2" runat="server" TabIndex="27" Width="100%"
DropDownWidth="300px" EmptyMessage="--Select--" HighlightTemplatedItems="True"
MarkFirstMatch="True">
<HeaderTemplate>
<table style="width: 250px">
<tr>
<td style="width: 60px;">
Code
</td>
<td style="width: 170px;">
Description
</td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table style="width: 250px">
<tr>
<td style="width: 60px;">
<%# DataBinder.Eval(Container.DataItem, "MTRL_CD")%>
</td>
<td style="width: 170px;">
<%# DataBinder.Eval(Container.DataItem, "MTRL_DESC")%>
</td>
</tr>
</table>
</ItemTemplate>
</telerik:RadComboBox>
<sup>*</sup>
</FilterTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Materail Description" UniqueName="MTRL_DESC" >
<ItemTemplate>
<%# Eval("MTRL_DESC")%>
</ItemTemplate>
<FilterTemplate>
<telerik:RadTextBox ID="txtmtrldesctab2" runat="server" >
**<ClientEvents OnValueChanged="test" />**
</telerik:RadTextBox>
</FilterTemplate>
<HeaderStyle Width="150px" />
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="UOM" UniqueName="UOM_ID">
<ItemTemplate>
<%# Eval("UOM_ID")%>
</ItemTemplate>
<FilterTemplate>
<telerik:RadTextBox ID="txtUomIdtab2" runat="server" Width="100%" Enabled="false">
</telerik:RadTextBox><sup>*</sup>
</FilterTemplate>
</telerik:GridTemplateColumn>
</Columns>
<ExpandCollapseColumn Visible="False">
<HeaderStyle Width="19px"></HeaderStyle>
</ExpandCollapseColumn>
<CommandItemSettings ExportToPdfText="Export to PDF" />
<RowIndicatorColumn Visible="False">
<HeaderStyle Width="20px" />
</RowIndicatorColumn>
<EditFormSettings>
<EditColumn FilterControlAltText="Filter EditCommandColumn column">
</EditColumn>
</EditFormSettings>
</MasterTableView>
<ClientSettings AllowDragToGroup="True" AllowColumnsReorder="True">
<Resizing AllowColumnResize="true" />
<Scrolling AllowScroll="True" UseStaticHeaders="True" SaveScrollPosition="true">
</Scrolling>
<Selecting AllowRowSelect="false" />
</ClientSettings>
<FilterMenu EnableImageSprites="False">
</FilterMenu>
</telerik:RadGrid>
现在我该如何编写javascript函数
function test(sender,args)
{
//please write some code here to find filter items;
}
写点东西找到我的过滤条目。提前谢谢。
答案 0 :(得分:0)
请尝试使用以下代码段。
ASPX:
<asp:HiddenField ID="hidden1" runat="server" />
C#
protected void grdQtmItemDetails_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
{
if (e.Item is GridFilteringItem)
{
GridFilteringItem item = (GridFilteringItem)e.Item;
TextBox txtslno = (TextBox)item.FindControl("txtslno");
hidden1.Value = txtslno.ClientID.ToString();
}
}
JS
function test(sender, args) {
var hidden = document.getElementById("hidden1").value;
var txtslno = document.getElementById(hidden);
if (txtslno != null) {
// Access Your TextBox here
}
}
注意:如果隐藏变量的值为null,请尝试使用下面的代码片段。
var hidden = $find("<%= hidden1.ClientID %>").val();
var hidden = $('#<%= hidden1.ClientID %>').val();