我想到这里,查了一下MSDN,写出了如下的代码:
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
}需要说明的是,代码中的GridSql.GridGetSql是我写的一个操作数据库的类,以下是操作数据库的类代码。
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
}
以上代码是为了方便大家读阅,从我一个项目的代码中粘出来的一部分。
有办法让“修改”和“删除”例在空行不显示按钮吗?
我在做的时候没有实现这个功能!希望你能帮助我,
我自己写的代码如下,麻烦你改下,获帮我在另写!谢谢!
protected void GrdDataBind()
{
DataSet dataSet = new dataSet;
dataSet = TanistSoft.Inventory.InventoryBLL.InventoryHouse.GetPagesToDS(nPageSize,
nPageIndex,ref nRecCount);//用于从数据库绑定数据到
//DataSet
if (dataSet.Tables[0].Rows.Count < 5 & nPageIndex >= 1)
{
for (int i = dataSet.Tables[0].Rows.Count ; i < 5; i++)
{
DataRow tableRow = dataSet.Tables[0].NewRow();
tableRow[0] = DBNull.Value;
dataSet.Tables[0].Rows.Add(tableRow);
GrdHouse.Rows[i].FindControl("ImgBtn3").Visible = false;
GrdHouse.Rows[i].FindControl("ImgBtn6").Visible = false;
}//这里没实现隐藏删除按钮和修改按钮
//ImgBtn3和ImgBtn6分别是删除和修改按钮
}
GrdHouse.DataSource = dataSet;
GrdHouse.DataBind();
}
如下示例:
本文介绍了一种在GridView控件中填充空白行的方法,确保即使实际数据不足设定的每页显示行数,也能通过添加空白行来保持页面整洁,并讨论了如何在这些空白行中隐藏“修改”和“删除”按钮。
2277

被折叠的 条评论
为什么被折叠?




int i_DBNull = 0; //记录空白的行数
if(flagSelAll)
{ //GRIDVIEW 中当数据行数未满时,填充空白行
for (int i =objDS.Tables[0].Rows.Count%i_PageNo; i < i_PageNo;i++ )
{
i_DBNull++;
DataRow TableRow = objDS.Tables[0].NewRow();
TableRow[0] = DBNull.Value;
objDS.Tables[0].Rows.Add(TableRow);
//objDS.Tables[0].Rows[i].
}
GVProductSet.DataSource = objDS;
GVProductSet.DataBind();
//将最后一页的 空白行的控制隐藏.
if (GVProductSet.PageIndex + 1 == GVProductSet.PageCount)
{ //得到空白行
for (int i = i_PageNo - i_DBNull; i < i_PageNo; i++)
{
GVProductSet.Rows[i].FindControl("CheckBoxProductID").Visible = false;
}
}
//分页一定要放在DataBind()后面
Pagination(i_PageNo,objDS,strMessage);
}
//以上代码测试OK