http://support.microsoft.com/default.aspx?scid=kb;zh-cn;307710
我在microsoft知识库找到这篇文章,但是分不了页:(请教大家如何分页?贴出自己的代码,谢谢!

解决方案 »

  1.   

    还有我用datagrid控件显示sql server表中的数据时,表头都是数据库中的字段如
    id username password之类的
    能不能把这个换成自己定义的?如让之显示
    id 用户名 密码
      

  2.   

    在执行sql的时候 select id ,username  as 用户名 ,password as 密码
      

  3.   

    winform中主要是要用DataGridTableStyle,注意把相应的MappingName写上
      

  4.   

    //定义函数SetupGridprivate void SetupGrid(DataGrid AGrid,string[] sAryColName,string[] sAryColText,int[] sAryColWidth, string ATableName)
    {
    try
    {
    //列名,列题头,列宽
    int iCount=sAryColName.Length;
    //
    DataGridTableStyle tblStyle=new DataGridTableStyle();
    tblStyle.MappingName= ATableName;
    DataGridTextBoxColumn[] fldStyleAry=new DataGridTextBoxColumn[iCount];
    for(int i=0;i<fldStyleAry.Length;i++)
    {
    fldStyleAry[i]=new DataGridTextBoxColumn();
    }
    tblStyle.GridColumnStyles.AddRange(fldStyleAry);AGrid.TableStyles.Clear();
    AGrid.TableStyles.Add(tblStyle);
    tblStyle.DataGrid= AGrid;
    tblStyle.ReadOnly=true;for(int i=0;i<sAryColName.Length;i++)
    {
    DataGridTextBoxColumn NumberColumn = fldStyleAry[i];
    NumberColumn.MappingName = sAryColName[i];
    NumberColumn.HeaderText = sAryColText[i]; 
    NumberColumn.Width = sAryColWidth[i];
    }
    }
    catch
    {
    throw;
    }
    }///在你的程序中调用SetupGrid//数据库中的字段
    stirng []m_sAryColName=new String[] 
    {
    "f1", "f2", "f3", "f4", "f5"
    };//对应到Grid上的中文名称
    string[] m_sAryColText=new String[] 
    {
    "中文1","中文2","中文3", "中文4", "中文5"
    };//显示的宽度
    int[] m_sAryColWidth=new int[] 
    {
    0,100,100, 100,200
    };//重新定制datagrid1的列名
    SetupGrid(datagrid1, m_sAryColName, m_sAryColText, m_sAryColWidth, "Table");datagrid1.Datasource = "数据源";
    //以上是将你的DataGrid中的列名替换成中文分页的话,一般使用Adapter的fill方法,指定起止记录和每页显示的数据
      

  5.   

    分页的话,一般使用Adapter的fill方法,指定起止记录和每页显示的数据能具体说明吗?
      

  6.   

    查询的sql语句用 select id as ID,username as 用户名,password  as 密码 from table 
    绑定datagrid控件显示就可以了,,如果不对数据进行操作,,建议用ExcuteReader()方法
    分页操作时应该把datagrid控件的AllowPaging设置为True
      

  7.   

    写个简单点的吧,以下这些内容可以放在一个方法里面比如PageResultpublic DataSet PageResult(int APage, int ASize)
    {
    //数据库连接
    strCon = "Data Source=(local);Initial catalog=Northwind;user ID=sa;password=;";SqlConnection con = new SqlConnection(strCon);SqlDataAdapter adp = new SqlDataAdapter("select * from Customers",con);DataSet myDs = new DataSet();//填充到DataSet
    adp.Fill(myDs,APage*ASize - ASize+1, ASize,"Table");
    //比如从第一页开始取,取20条记录 (1*20)-20+1 =1
    //说明adp.Fill(myDs,"从第几条开始取","取多少条记录","Table");return myDs;
    }然后将返回的DataSet绑定到DataGrid