查看: 931|回复: 8
|
请问datagrid的页数前面怎样加“page”的字?
[复制链接]
|
|
就是
1 2 3 4 ...
改成
page 1 2 3 4 ...
datagrid可以做到麽?
谢谢! |
|
|
|
|
|
|
|

楼主 |
发表于 5-10-2006 05:58 PM
|
显示全部楼层

在他的页数前面加 |
|
|
|
|
|
|
|

楼主 |
发表于 5-10-2006 06:24 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 6-10-2006 04:51 PM
|
显示全部楼层
说起来简单,其实不容易,
首先你必须了解DATAGRID 的ITEMCOMMAND
在ITEMCOMMAND里头的EVENT HANDLER, 你必须加入一个LABEL, 这个LABEL就只有TEXT SET成"PAGE",
而在ITEMCOMMAND的EVENT HANDLER里,你还必须确认E.ITEMTYPE 是属于FOOTER, 才可以INSERT CONTROL. |
|
|
|
|
|
|
|

楼主 |
发表于 8-10-2006 12:41 PM
|
显示全部楼层
原帖由 阿牙木 于 6-10-2006 04:51 PM 发表
说起来简单,其实不容易,
首先你必须了解DATAGRID 的ITEMCOMMAND
在ITEMCOMMAND里头的EVENT HANDLER, 你必须加入一个LABEL, 这个LABEL就只有TEXT SET成"PAGE",
而在ITEMCOMMAND的EVENT HANDLER里,你还必须确认E.ITEMTYPE 是属于FOOTER, 才可以INSERT CONTROL.
class DataGridWithImprovePager: DataGrid
{
private bool m_DisplayPageNumbers = true:
public DataGridWithImprovePager()
{
}
}
谢谢你的解释!
真的很复杂。。。。 但是总算了解多一点!!
请你有一个简单的code麽?
我找到很久,只是这个website最好了,但是,还是对他的code觉得很复杂。
请问这一句是什么意识
class DataGridWithImprovePager: DataGrid
[ 本帖最后由 cyang 于 8-10-2006 12:46 PM 编辑 ] |
|
|
|
|
|
|
|

楼主 |
发表于 8-10-2006 07:14 PM
|
显示全部楼层
这是我自己写的。
Private Sub DataGrid1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.ItemCommand
Dim lblpage As New Label
Dim newcell As New TableCell
lblpage.Text = "Page"
'e.Item.ItemType().Footer(lblpage)
newcell.Controls.Add(lblpage)
End Sub
我在这里找不到, 可以指点一下麽?
在网站也很难找到有关的code
[ 本帖最后由 cyang 于 8-10-2006 07:45 PM 编辑 ] |
|
|
|
|
|
|
|
发表于 8-10-2006 11:16 PM
|
显示全部楼层
你最新的CODE没有错,
只是必须列明是"FOOTER"才可以ADD那个LABEL进去...
我有CODE,可是因为是公司用的-.-所以不能打出来,不过你的CODE已经相当完整了
哦,还有,我的CODE是C#的,不是VB的 |
|
|
|
|
|
|
|
发表于 8-10-2006 11:17 PM
|
显示全部楼层
哦,不应该用newcell,应该直接用 e 里面的 Item 来 assign |
|
|
|
|
|
|
|
发表于 10-10-2006 06:49 PM
|
显示全部楼层
Private Sub DataGrid1_ItemCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemCreated
' Get the newly created item
Dim itemType As ListItemType = e.Item.ItemType
' Is it the pager?
If (itemType = ListItemType.Pager) Then
' Extract the Pager
Dim pager As TableCell = CType(e.Item.Controls(0), TableCell)
' Add Cell to Row to Hold Row Count Label
Dim newcell As TableCell = New TableCell
' set number of column in footer
newcell.ColumnSpan = 3
newcell.HorizontalAlign = HorizontalAlign.Right
newcell.Style("border-color") = pager.Style("border-color") ' Set Border so the Pager Row looks seamless
' Add Label Indicating Row Count
Dim lblNumRecords As Label = New Label
lblNumRecords.ID = "lblNumRecords"
newcell.Controls.Add(lblNumRecords)
' Add Table Cell to Pager
e.Item.Controls.AddAt(0, newcell)
' Subtract from Colspan of Original Pager to Account for New Row
pager.ColumnSpan = pager.ColumnSpan - 1
End If
End Sub
Private Sub DataGrid1_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGrid1.PreRender
Try
CType(DataGrid1.Controls(0).Controls(DataGrid1.Controls(0).Controls.Count - 1).FindControl("lblNumRecords"), Label).Text = "Page"
Catch
End Try
End Sub
找了很久,终于找到他的code了
谢谢楼上的提供我datagrid的知识,让我更容易找资料。
这里放出code来,让和我同样问题的人可以方便解决。 :)
[ 本帖最后由 阿紫 于 10-10-2006 06:50 PM 编辑 ] |
|
|
|
|
|
|
| |
本周最热论坛帖子
|