用gridview显示列表数据时,当没有数据仍希望能显示gridview的表头时,需要为gridview添加RowCreated事件,代码如下:
/// gridview中没有数据时显示表头
protected void gvReceiveMessage_RowCreated(object sender, GridViewRowEventArgs e)
{
GridView gvReceiveMessage = (GridView)sender;
DataSet aDateSet = this.GetMessageInfos();
if (aDateSet.Tables["UserMassage"].Rows.Count==0)
{
GridViewRow rowHeader = new GridViewRow(0,0,DataControlRowType.Header,DataControlRowState.Normal);
TableCell cell1 = new TableCell();
cell1.Text = string.Format("<input type=checkbox id='flowPara_{0}'/>", "chkBoxAllRows");
TableCell cell2 = new TableCell();
cell2.Text = "序号";
TableCell cell3 = new TableCell();
cell3.Text = "标题";
TableCell cell4 = new TableCell();
cell4.Text = "是否已读";
TableCell cell5 = new TableCell();
cell5.Text = "发送人";
TableCell cell6 = new TableCell();
cell6.Text = "发送时间";
TableCell cell7 = new TableCell();
cell7.Text = "有效期";
rowHeader.Cells.Add(cell1);
rowHeader.Cells.Add(cell2);
rowHeader.Cells.Add(cell3);
rowHeader.Cells.Add(cell4);
rowHeader.Cells.Add(cell5);
rowHeader.Cells.Add(cell6);
rowHeader.Cells.Add(cell7);
this.gvReceiveMessage.Controls[0].Controls.AddAt(0, rowHeader);
}
}