Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 带分页的GridView的行计数_Asp.net_Gridview - Fatal编程技术网

Asp.net 带分页的GridView的行计数

Asp.net 带分页的GridView的行计数,asp.net,gridview,Asp.net,Gridview,因此,我有GridView表的用户控件。我有更多的表,它们比这个表大得多,并且启用了分页功能,但我将以此为例。我希望每个表都像这样显示,其中一个有100行的表在第一页上会显示“显示:1-10/100”,在第二页上显示:11-20/100”,等等 这就是它现在的编码方式(在我的html文件中): 显示:第1-6页,共6页 以下是ascx代码: <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"

因此,我有GridView表的用户控件。我有更多的表,它们比这个表大得多,并且启用了分页功能,但我将以此为例。我希望每个表都像这样显示,其中一个有100行的表在第一页上会显示“显示:1-10/100”,在第二页上显示:11-20/100”,等等

这就是它现在的编码方式(在我的html文件中):


显示:第1-6页,共6页
以下是ascx代码:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
   DataSourceID="SqlDataSource1" CssClass="dataTable" AllowPaging="True" 
   AllowSorting="True">
   <AlternatingRowStyle CssClass="altrow" />
   <HeaderStyle CssClass="ui-state-default" />
   <Columns>
   <asp:BoundField DataField="id" HeaderText="id" SortExpression="id" />
   <asp:BoundField DataField="name" HeaderText="name" SortExpression="name" />
   </Columns>
</asp:GridView>

我一开始不知道如何计算行数。可以在我这里的div中显示吗


我希望这是有道理的。谢谢。

要获取网格所有页面上的行总数,请使用
GridView.rows
,因为它代表网格中所有数据行的集合。您可以使用该集合的
Count
属性,如下所示:

C#:

VB.NET:

Dim totalRowsCount As Integer = GridView1.Rows.Count

现在,您的问题是,从我看到的您发布的代码来看,您的用户控件没有通过页面可以使用的属性或事件公开这些信息。我建议将此
显示6条消息中的1-6条
消息放入用户控件本身,这样它就可以在组件级别访问网格,并可以轻松获得需要显示的信息。网格中的页脚行或位于实际网格本身正下方的标签。

若要获取网格所有页面上的行总数,请使用
GridView.rows
,因为它表示网格中所有数据行的集合。您可以使用该集合的
Count
属性,如下所示:

C#:

VB.NET:

Dim totalRowsCount As Integer = GridView1.Rows.Count

现在,您的问题是,从我看到的您发布的代码来看,您的用户控件没有通过页面可以使用的属性或事件公开这些信息。我建议将此
显示6条消息中的1-6条
消息放入用户控件本身,这样它就可以在组件级别访问网格,并可以轻松获得需要显示的信息。网格中的页脚行或位于实际网格本身正下方的标签。

您说过您的
Gridview
具有分页功能。通过使用
Dim cnt As Integer=Gridview1.Rows.Count
,它只返回Gridview中的行数,而不返回数据源已过滤的行总数

由于您使用的是SqlDataSource,请尝试以下代码:

Protected Sub SqlDataSource1_Selected(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.SqlDataSourceStatusEvent Args) Handles
SqlDataSource1.Selected

  Dim cnt As Integer = e.AffectedRows

End Sub

您说过您的
Gridview
具有分页功能。通过使用
Dim cnt As Integer=Gridview1.Rows.Count
,它只返回Gridview中的行数,而不返回数据源已过滤的行总数

由于您使用的是SqlDataSource,请尝试以下代码:

Protected Sub SqlDataSource1_Selected(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.SqlDataSourceStatusEvent Args) Handles
SqlDataSource1.Selected

  Dim cnt As Integer = e.AffectedRows

End Sub

问题是指具有分页功能的GridView,而此答案在启用分页时不起作用(它获取当前显示的行数)。问题是指具有分页功能的GridView,而此答案在启用分页时不起作用(它获取当前显示的行数)。