我的Datagrid怎么无法翻页?

flyhorse1980 2003-10-18 09:25:50
我在webform中,使用datagrid,结果我在选中排序和翻页后,虽然显示出了相应的按钮,不过点击按钮后,没有任何变化,既不能翻页,也不能排序,请大家指教
...全文
37 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyhorse1980 2003-10-20
  • 打赏
  • 举报
回复
谢谢楼上的,现在给分!
rgbcn 2003-10-19
  • 打赏
  • 举报
回复
不好意思,这个才是vb.net 的代码

<%@ Import Namespace="System.Data" %>

<html>

<script language="VB" runat="server">

Dim SortField As String

Function CreateDataSource() As ICollection

Dim dt As DataTable
Dim dr As DataRow
Dim i As Integer

'创建数据表
dt = New DataTable
dt.Columns.Add(New DataColumn("整数值", GetType(Integer)))
dt.Columns.Add(New DataColumn("字符串值", GetType(String)))
dt.Columns.Add(New DataColumn("日期时间值", GetType(DateTime)))
dt.Columns.Add(New DataColumn("布尔值", GetType(Boolean)))
dt.Columns.Add(new DataColumn("货币值", GetType(Double)))

'生成一些行,并在其中放置一些示例数据
For i = 1 To 9
dr = dt.NewRow()
dr(0) = 9-i
dr(1) = "项 " & i.ToString()
dr(2) = DateTime.Now.ToShortTimeString
If (i Mod 2 <> 0) Then
dr(3) = True
Else
dr(3) = False
End If
dr(4) = 1.23 * (i + 1)
'向数据表中添加行
dt.Rows.Add(dr)
Next

'向数据表返回 DataView
Dim dv as DataView = New DataView(dt)
dv.Sort = SortField
CreateDataSource = dv
End Function

Sub Page_Load(sender As Object, e As EventArgs)
If Not IsPostBack Then
If SortField = "" Then
SortField = "整数值"
End If
BindGrid
End If
End Sub

Sub MyDataGrid_Sort(sender As Object, e As DataGridSortCommandEventArgs)
SortField = e.SortExpression
BindGrid
End Sub

Sub BindGrid()
MyDataGrid.DataSource = CreateDataSource()
MyDataGrid.DataBind
End Sub


</script>

<body>

<h3><font face="宋体">DataGrid 中的基本排序</font></h3>

<form runat=server>

<ASP:DataGrid id="MyDataGrid" runat="server"
AllowSorting="true"
OnSortCommand="MyDataGrid_Sort"
BorderColor="black"
BorderWidth="1"
CellPadding="3"
Font-Name="宋体"
Font-Size="8pt"
HeaderStyle-BackColor="#ccccff"
HeaderStyle-ForeColor="black"
/>

</form>

</body>
</html>

rgbcn 2003-10-19
  • 打赏
  • 举报
回复
建议你看看 asp.net 的教程

http://chs.gotdotnet.com/quickstart/aspplus/samples/webforms/ctrlref/webctrl/datagrid/doc_datagrid.aspx#sorting



<%@ Import Namespace="System.Data" %>

<html>

<script language="C#" runat="server">

string SortField;

ICollection CreateDataSource() {
DataTable dt = new DataTable();
DataRow dr;

dt.Columns.Add(new DataColumn("整数值", typeof(Int32)));
dt.Columns.Add(new DataColumn("字符串值", typeof(string)));
dt.Columns.Add(new DataColumn("日期时间值", typeof(DateTime)));
dt.Columns.Add(new DataColumn("布尔值", typeof(bool)));
dt.Columns.Add(new DataColumn("货币值", typeof(double)));

for (int i = 0; i < 9; i++) {
dr = dt.NewRow();

dr[0] = 9-i;
dr[1] = "项 " + i.ToString();
dr[2] = DateTime.Now;
dr[3] = (i % 2 != 0) ? true : false;
dr[4] = 1.23 * (i+1);

dt.Rows.Add(dr);
}

DataView dv = new DataView(dt);
dv.Sort = SortField;
return dv;
}

void Page_Load(Object sender, EventArgs e) {
if (!IsPostBack) {
if (SortField == "") {
SortField = "IntegerValue";
}
BindGrid();
}
}

void MyDataGrid_Sort(Object sender, DataGridSortCommandEventArgs e) {
SortField = (string)e.SortExpression;
BindGrid();
}

void BindGrid() {
MyDataGrid.DataSource = CreateDataSource();
MyDataGrid.DataBind();
}


</script>

<body>

<h3><font face="宋体">DataGrid 中的基本排序</font></h3>

<form runat=server>

<ASP:DataGrid id="MyDataGrid" runat="server"
AllowSorting="true"
OnSortCommand="MyDataGrid_Sort"
BorderColor="black"
BorderWidth="1"
CellPadding="3"
Font-Name="宋体"
Font-Size="8pt"
HeaderStyle-BackColor="#ccccff"
HeaderStyle-ForeColor="black"
/>

</form>

</body>
</html>

flyhorse1980 2003-10-19
  • 打赏
  • 举报
回复
谢谢楼上的,排序有没有代码呢?
menuvb 2003-10-19
  • 打赏
  • 举报
回复
先将datagrid的allowpaging为true
Private Sub DataGrid1_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles DataGrid1.PageIndexChanged
Dim newadocmd As OleDbDataAdapter
newadocmd = New OleDbDataAdapter("select class as 产品,id as 编号,name as 名称,style as 规格,sour as 厂家,monery as 价格 from datasour", strprov)
Dim newds As DataSet = New DataSet()
newadocmd.Fill(newds, "datasour")
DataGrid1.DataSource = newds.Tables.Item(0)'前面先进行数据绑定
DataGrid1.CurrentPageIndex = e.NewPageIndex '主要是这句,设置datagrid1当前页为(e.NewPageIndex 获取用户选定的页的索引)
DataGrid1.DataBind()
End Sub
flyhorse1980 2003-10-18
  • 打赏
  • 举报
回复
那么能不能给段代码作为例子呢?
dongbeiren 2003-10-18
  • 打赏
  • 举报
回复
翻页是要写代码的,需要在设置你的当前页

16,549

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧