如何让gridview在没有数据时显示表头?
如何让gridview在没有数据时显示表头? --------------------编程问答-------------------- 一种方法是再把表头的内容写一边到空模版中,没数据时显示空模版就相当于显示表头了 --------------------编程问答-------------------- 空模版是什么意思 ?能不能说的详细点? --------------------编程问答-------------------- EmptyDataTemplate --------------------编程问答-------------------- 看看我的blog我的e-mail:bdbox@163.com,欢迎与我交流。 --------------------编程问答-------------------- AffairInfo affairsempty = new AffairInfo();
AffairInfo[] newaffairs = new AffairInfo[1];
newaffairs[0] = affairsempty;
GridAffairs.DataSource = newaffairs;
GridAffairs.DataBind();
int columnCount = GridAffairs.Rows[0].Cells.Count;
GridAffairs.Rows[0].Cells.Clear();
GridAffairs.Rows[0].Cells.Add(new TableCell());
GridAffairs.Rows[0].Cells[0].ColumnSpan = columnCount;
GridAffairs.Rows[0].Cells[0].Text = "没有数据";
GridAffairs.RowStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Center; --------------------编程问答-------------------- 完美解决-绑定gridview时,无内容仍显示表头
我的e-mail:bdbox@163.com,欢迎与我交流。 --------------------编程问答-------------------- 在DataGrid中,我们可以把一个包含空记录的DataSet或DataTable绑定给DataGrid,这样,呈现时,DataGrid会把数据源中的字段定义以表头的形式显示出来。
在GridView控件中,却不可以,如果DataSet或DataTable是空记录。则GridView连表头都不显示。只能通过变通的方法实现,稍微有一些麻烦:
public void BuildNoRecords(GridView gridView, DataSet ds)
{
if (ds.Tables[0].Rows.Count == 0)
{
ds.Tables[0].Rows.Add(ds.Tables[0].NewRow());
gridView.DataSource = ds;
gridView.DataBind();
int columnCount = gridView.Rows[0].Cells.Count;
gridView.Rows[0].Cells.Clear();
gridView.Rows[0].Cells.Add(new TableCell());
gridView.Rows[0].Cells[0].ColumnSpan = columnCount;
gridView.Rows[0].Cells[0].Text = "No Records Found.";
}
else
{
gridView.DataSource = ds;
gridView.DataBind();
}
}
--------------------编程问答-------------------- 数据源是SqlDataSource,表头添加上去了,但是不能编辑,更新,删除了,求助怎么解决?
显示表头的代码:GridView1.DataSourceID = "";
GridView1.DataSource = SqlDataSource1;
GridView1.DataBind();
if (GridView1.Rows.Count == 0)
{
//在创建时,我利用了sqldatasource的connect string 和select command,将来改变数据库连接或sql不会影响这段代码
using (System.Data.SqlClient.SqlConnection connect = new System.Data.SqlClient.SqlConnection(SqlDataSource1.ConnectionString))
{
connect.Open();
DataTable dt = new DataTable();
System.Data.SqlClient.SqlDataAdapter adpter = new System.Data.SqlClient.SqlDataAdapter(SqlDataSource1.SelectCommand, connect);
adpter.Fill(dt);
DataRow dr = dt.NewRow();
dt.Clear();
dt.Rows.Add(dr);
GridView1.DataSource = dt;
GridView1.DataBind();
}
} --------------------编程问答-------------------- 人家是问DATAVIEW怎么还有人回答DATAGRID啊。 --------------------编程问答-------------------- 加一空行 --------------------编程问答-------------------- 最简单的方式:与楼上一致,加一句空行,我的许多项目都这么做的 --------------------编程问答-------------------- gridviewid。columns.Add("标题");
补充:.NET技术 , ASP.NET