有没有人知道如何使用jQuery计算asp:GridView中的行数。如果没有找到行,那么我想做一些事情......
答案 0 :(得分:12)
GridView
只是呈现为标准HTML表格,因此只需计算GridView下tr
个元素的数量:
var totalRows = $("#<%=GridView1.ClientID %> tr").length;
答案 1 :(得分:5)
每个GridView都会生成基本上是表格的HTML,并且该表格有一个ID(输出页面的视图来源,知道我在说什么)。您可以通过myGridView.ClientID
将.Net中的ID传递给JavaScript,或者在ASP.NET 4中创建ClientIdMode="Static"
,从而使用与ASP控件完全相同的ID。
然后在jquery(它是一个与GridView层完全分离的客户端层)中,获取该ID并计算:
$("#mygridviewid tr").length;
答案 2 :(得分:1)
您可以使用CssClass
(我不记得确切的拼写)属性为您的gridview分配CSS类,然后访问它jquery的css类选择器。
假设您已将gridviewclass
分配给该属性,然后在您编写时 -
$('table.gridviewclass')
在jquery中,您将能够访问由ASP.NET生成的表格,而不是ASP.NET。现在,要访问所有行,您将编写 -
$('table.gridviewclass tr')
将在jquery数组中为您提供该表的所有行。要计算行数,您将编写 -
var rowcount = $('table.gridviewclass tr').length
if(rowcount == 0)
{
// No rows found, do your stuff
}
else
{
// Rows found, do whatever you want to do in this case
}
要访问第一行,您可以使用以下选择器 -
$('table.gridviewclass tr:first')
要访问最后一行,您将编写 -
$('table.gridviewclass tr:last')
等。您可以找到jquery选择器的完整列表here。
希望有所帮助。
答案 3 :(得分:1)
我试过这个
var totalRows = $("#<%=GridView1.ClientID %> tr").length;
它失败了
我试过的时候
var count = $get("mygridviewclientid").rows.length
它给出了所有行的计数(th和tr)
我还确保了属性ClientIDMode="Static"