繁体   English   中英

asp.net gridview 中同一行的总记录数和分页但不在页脚中

[英]Total Record count and paging on the same line in an asp.net gridview but not in the footer

嗨,我过去一定是这样做的,我所要求的非常简单,但是对于我的一生,我不记得了,也找不到任何在线帮助我的东西。 我有一个 asp.net gridview 并且我通过数字设置进行了基本的沼泽标准分页(我实际上只是将其设置为我想要的外观,但确实可以完成工作)。 但是,我想在同一分页行中添加记录计数。 我知道我可以添加页脚并为其添加模板,但是首先我不想重新开发已经工作的东西,其次我的一些没有分页的网格也有拖放功能所以我真的不想要开始在我的网格中添加页脚。 我目前得到的是一个按我的需要设计的分页行,我要做的就是在其中添加一个 label 或其他东西,这样我就可以添加一个计数,例如 1 到 10、11 到 20 等等。 有谁知道如何做到这一点,但在页脚中没有。

嗨,对于遇到问题的任何其他人,我设法通过在 VB.NET/C# 中创建两个标签(无论哪种语言)并将其添加到 gridview RowDataBound 中的行来解决此问题。

首先查找要为 pager 的行类型

If e.Row.RowType = DataControlRowType.Pager Then

创建几个标签,这些标签将 go 放入其中的单元格和表格行,以便这些单元格位于 go 的某个位置。

 Dim TotalRecords As New Label
 Dim TotalPages As New Label
 Dim Row As TableRow = TryCast(e.Row, TableRow)
 Dim Cell1 As New TableCell
 Dim Cell2 As New TableCell

将文本添加到每个 label

TotalRecords.Text = ctype(gridview.DataSource, DataView).Table.Rows.Count & " total records"
TotalPages.Text = "Page " & (gridview.PageIndex + 1) & " of " gridview.PageCount

然后将这些标签添加到单元格

Cell1.Controls.Add(TotalRecords)
Cell2.Controls.Add(TotalPages.Text)

现在将这些单元格添加到我们的寻呼机行(这可以按任何顺序完成,但我想要Total records ----Pages--- Page n of x

Row.Controls.AddAt(0, Cell1)
Row.Controls.Add(Cell2)

这将在寻呼机行中添加两个额外的 td,因此在 HTML 中,我们最终得到

<tr class="Pager">
 <td><span>n total records</span></td>
 <td></td>
 <td><span>Page n of n</span></td>
</tr>

因此,理想情况下,您可以将 class 添加到分页样式中,这可以在 asp.net 但 PagerStyle css 中完成。 如果你想也可以通过将 class 添加到单元格 object 来设置每个 td 的样式。

Cell1.CssClass = "Style1"
Cell2.CssClass = "Style2"

将单元格添加到行后,您将拥有 3 个控件,因此对于任何间距问题,您也可以开始使用列跨度。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM