我是一家公司的实习生,该公司给了我一项创建可以访问和操作公司数据库的网站的任务。它允许同事轻松研究客户端使用的代码。以下问题困扰了其他开发人员和我。
目前,jQuery搜索在没有按钮或"全部"单击按钮,搜索整个表格。其他按钮尚未搜索。它确实识别按钮,因此它输入if / else if语句,但不识别按钮的名称/类。
GridViews在从下拉列表中选择名称并使用每个列的get / set方法后,使用GrdiView.DataSource和DataBind()将数据绑定到它们。因此,我使用的是BoundField和DataField属性,而不是TemplateField。
问题:有没有办法为BoundField分配名称/类/值,以便jQuery可以找到列单元格?或者,有没有办法让TemplateField工作?
$(document).on("keyup", function ()
{
SearchGrid('<%=txtSearchBox.ClientID%>', '<%=grdIniData1.ClientID%>',
'<%=grdIniData2.ClientID%>');
function SearchGrid(txtSearch, grd1, grd2)
{
if ($("input:radio[name=Section]").is(":checked"))
{
//Tried adding a CSS class to BoundField 'Section' and calling
$('.Section').each(function (i)
{
alert("hello");
$("Section").quicksearch("[id*=grdList] tr:not(:has(th))",
{
'testQuery': function (query, txt, row)
{
return $(row).children(":eq(" + i")").text().toLowerCase().
indexOf(query[0].toLowerCase()) != -1;
}
});
});
}
else if ($("input:radio[name=Name]").is(":checked"))
{
//For name and IniValue, tried accessing by BoundField name
//Unsure how to name BoundField so jQuery can access
$('#name').each(function ()
{
if ($("Name").find('td').eq(1).text() != "")
{
$(this).index();
}
});
}
else if ($("input:radio[name=IniValue]").is(":checked"))
{
var searchKey = $("[id *=" + txtSearch + " ]").val().toLowerCase();
$("#grd1 tr td:nth-child(2)").each(function ()
{
var cellText = $(("input:radio[name=IniValue]").
is(":checked")).text().toLowerCase();
if (cellText.indexOf(searchKey) >= 0)
{
$("[id *=" + grd1 + " ]").parent().show();
}
else
{
$("[id *=" + grd1 + " ]").parent().hide();
}
});
}
else
{
//Code is functional after this point
}
<asp:GridView ID="grdIniData2" runat="server" AllowSorting="True" AutoGenereateColumns="false" AutoSizeColumnsMode="AllCellsExceptHeader" BackColor="White" BorderColor="#999999" BorderStyle="None" BorderWidth="1px" CellPadding="0" GridLines="Vertical" OnRowDataBound="grdIniData2_RowDataBound" OnSelectedIndexChanged="ddlClientList2_SelectedIndexChanged" OnSorting="grdIniData2_Sort" Font-Bold="True" Font-Names="Sylfaen" Font-Size="24px">
<Columns>
<asp:BoundField DataField="Section" HeaderText="Section" SortExpression="Section" ControlStyle-CssClass="Section" />
<asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
<asp:BoundField DataField="INIValue" HeaderText="INIValue" SortExpression="IniValue" />
<asp:BoundField DataField="Description" HeaderText="Description" />
<asp:BoundField DataField="Exposed" HeaderText="Exposed" />
<asp:BoundField DataField="DataType" HeaderText="DataType" />
<asp:BoundField DataField="DataFormat" HeaderText="DataFormat" />
</Columns>
</asp:GridView>
答案 0 :(得分:1)
您可以将类分配给BoundField。
<asp:BoundField DataField="DataFormat" HeaderText="DataFormat"
ItemStyle-CssClass="MyCLass"
HeaderStyle-CssClass="MyHeaderCLass" />