在用.net开发Wap时候.
如何做数据表的分页显示,文章的分页显示.
因为在.net的移动Web开发里面没有Grid类的控件,也没有象以前ASP那样的参数传递.
如何在一个Form里面实现分页显示?
我的数据表是放到了DataTable里面了的.文章是放到了一个String里的.
请高手给个思路.

解决方案 »

  1.   

    mobile:form本身是有分页功能的,list,objectlist控件都有
    但有存在兼容性问题,很多机型不支持,所以还是用自己写的好(分頁存儲過程)
      

  2.   

    我就是自己写的代码来实现分页.
    问题就是点"下一页"的时候,如何传递参数.
    因为这个东东和普通的Web刷新不一样.
    一个Form Active了以后,如何重新加载.
    能否给点事例代码?谢谢各位了.我的代码是:
    public class MyGrid
    {
    public void TextGrid(DataSet ds,Form MyForm,int PageSize)
    {
    DataTable dt = new DataTable();
    //dt = ds.Tables["MyTable"]; PageTable MyPage = new PageTable();
    //这个地方是我写的另外的分页,传入参数,即可返回相应页的东西.
    dt = MyPage.GetTable(PageSize,1,ds.Tables[0]); System.Web.UI.MobileControls.Label MyLabel1 = new Label();
    MyLabel1.Text = "共" + MyPage.PageCount + "页/第" + MyPage.PageNo + "页";
    MyForm.Controls.Add(MyLabel1);
    foreach(DataRow dr in dt.Rows)
    {
    Label MyLabel = new Label();
    foreach(DataColumn dc in dt.Columns)
    {
    MyLabel.Text = MyLabel.Text + " " + dr[dc.ColumnName].ToString().Trim();
    }

    MyForm.Controls.Add(MyLabel);
    }

    MyLabel1.Text = "----------";
    MyForm.Controls.Add(MyLabel1); if (MyPage.PageCount > 1)
    {
    Command NextPage = new Command();
    NextPage.Text = "下一页";
    NextPage.Click += new EventHandler(NextPage_Click);
    MyForm.Controls.Add(NextPage);
    Command PrePage = new Command();
    PrePage.Text = "上一页";
    PrePage.Click += new EventHandler(PrePage_Click);
    MyForm.Controls.Add(PrePage);
    }
    } private void NextPage_Click(object sender, EventArgs e)
    {
    //如何点了按扭让代码执行起来,现在是点了根本没有反映.
    } private void PrePage_Click(object sender, EventArgs e)
    { }
    }
      

  3.   

    在Web的页上最好不要自己在代码中添加事件,因为当按钮点击后页面会刷新,如果你的代码不放在Page_Load里就会执行不了。也可以把一些信息保存在Session里,并在Page_Load里判断并载入Session相关的也可以。这样做起来比较麻烦!其实用连接就是最后的了,在连接中带上参数传去就可以了!