有这样一种情况,当GRIDVIEW中设定每页显示30行,而实际显示数据只有12行时,剩下的18行就不会显示了,这时GRIDVIEW只显示12行,当是为了让GRIDVIEW控件在用户面前显得好看一些,我们想能不能把剩下的18行用空白行显示出来,我想有一些朋友也在为这个问题犯愁吧。
我想到这里,查了一下MSDN,写出了如下的代码:
1 public void LoadGrid()
2 {
3 AdoSql GridSql = new AdoSql();
4 DataTable CustmTable = GridSql.GridGetSql("select * from CustmInfo order by CompanyName desc");
5
6 for (int i = CustmTable.Rows.Count; i < 30; i++)
7 {
8 DataRow TableRow = CustmTable.NewRow();
9 TableRow[0] = DBNull.Value;
10 CustmTable.Rows.Add(TableRow);
11 }
12
13 this.CustmGrid.DataSource = CustmTable;
14 this.CustmGrid.DataBind();
15
16
17 }
2 {
3 AdoSql GridSql = new AdoSql();
4 DataTable CustmTable = GridSql.GridGetSql("select * from CustmInfo order by CompanyName desc");
5
6 for (int i = CustmTable.Rows.Count; i < 30; i++)
7 {
8 DataRow TableRow = CustmTable.NewRow();
9 TableRow[0] = DBNull.Value;
10 CustmTable.Rows.Add(TableRow);
11 }
12
13 this.CustmGrid.DataSource = CustmTable;
14 this.CustmGrid.DataBind();
15
16
17 }
需要说明的是,代码中的GridSql.GridGetSql是我写的一个操作数据库的类,以下是操作数据库的类代码。
1 public DataTable GridGetSql(string SqlStr)
2 {
3 OleDbCommand SqlCmd = new OleDbCommand();
4 SqlCmd.Connection = new OleDbConnection(ConfigurationSettings.AppSettings["OledbConnectionStr"]);
5 SqlCmd.CommandText = SqlStr;
6 SqlCmd.CommandType = CommandType.Text;
7 OleDbDataAdapter SqlAd = new OleDbDataAdapter(SqlCmd);
8 DataSet Rs = new DataSet();
9 SqlAd.Fill(Rs);
10 return Rs.Tables[0];
11 }
2 {
3 OleDbCommand SqlCmd = new OleDbCommand();
4 SqlCmd.Connection = new OleDbConnection(ConfigurationSettings.AppSettings["OledbConnectionStr"]);
5 SqlCmd.CommandText = SqlStr;
6 SqlCmd.CommandType = CommandType.Text;
7 OleDbDataAdapter SqlAd = new OleDbDataAdapter(SqlCmd);
8 DataSet Rs = new DataSet();
9 SqlAd.Fill(Rs);
10 return Rs.Tables[0];
11 }
以上代码是为了方便大家读阅,从我一个项目的代码中粘出来的一部分。
希望大家一起多交流学习,我的QQ号码是:17020415,有同行朋友,可加我,本人非常乐意与大家一起进步。