gridview绑定数据源是一个动态的dataview
在gridview上设置empty模版为,“无数据!”。
但是dataview没有数据的时候,为什么不显示empty的内容?空数据模版:
<EmptyDataTemplate>
<asp:Label ID="Label1" runat="server" Text="请先添加培训课程表!"></asp:Label>
</EmptyDataTemplate>绑定数据源:
gdveval.DataSource = CreatDataSource();
gdveval.DataBind();
创建数据源:
protected DataView CreatDataSource()
{
DataTable dt = new DataTable();
//创建列
dt.Columns.Add(new DataColumn("id", typeof(String)));
dt.Columns.Add(new DataColumn("时间", typeof(String)));
dt.Columns.Add(new DataColumn("地点", typeof(String)));
dt.Columns.Add(new DataColumn("人物", typeof(String)));
for (int i = 0; i < TempletName().Tables[0].Rows.Count; i++)
{
dt.Columns.Add(new DataColumn(TempletName().Tables[0].Rows[i]["templet"].ToString()));
}
//创建行
for (int i = 0; i < CourseInfo().Tables[0].Rows.Count; i++)
{
DataRow dr = dt.NewRow();
dr[0] = CourseInfo().Tables[0].Rows[i]["courseid"].ToString();
dr[1] = CourseInfo().Tables[0].Rows[i]["coursetime"].ToString();
dr[2] = CourseInfo().Tables[0].Rows[i]["coursetitle"].ToString();
dr[3] = CourseInfo().Tables[0].Rows[i]["docentname"].ToString();
dt.Rows.Add(dr);
}
DataView dv = new DataView(dt);
return dv;
}
在gridview上设置empty模版为,“无数据!”。
但是dataview没有数据的时候,为什么不显示empty的内容?空数据模版:
<EmptyDataTemplate>
<asp:Label ID="Label1" runat="server" Text="请先添加培训课程表!"></asp:Label>
</EmptyDataTemplate>绑定数据源:
gdveval.DataSource = CreatDataSource();
gdveval.DataBind();
创建数据源:
protected DataView CreatDataSource()
{
DataTable dt = new DataTable();
//创建列
dt.Columns.Add(new DataColumn("id", typeof(String)));
dt.Columns.Add(new DataColumn("时间", typeof(String)));
dt.Columns.Add(new DataColumn("地点", typeof(String)));
dt.Columns.Add(new DataColumn("人物", typeof(String)));
for (int i = 0; i < TempletName().Tables[0].Rows.Count; i++)
{
dt.Columns.Add(new DataColumn(TempletName().Tables[0].Rows[i]["templet"].ToString()));
}
//创建行
for (int i = 0; i < CourseInfo().Tables[0].Rows.Count; i++)
{
DataRow dr = dt.NewRow();
dr[0] = CourseInfo().Tables[0].Rows[i]["courseid"].ToString();
dr[1] = CourseInfo().Tables[0].Rows[i]["coursetime"].ToString();
dr[2] = CourseInfo().Tables[0].Rows[i]["coursetitle"].ToString();
dr[3] = CourseInfo().Tables[0].Rows[i]["docentname"].ToString();
dt.Rows.Add(dr);
}
DataView dv = new DataView(dt);
return dv;
}
解决方案 »
- Nbear 小问题
- 您们如何用cookie存用户名,求最简洁的方式,
- DataGrid模板列的问题
- 在ASP。NET中如何取得页页执行生成的HTML代码
- 关于TreeView的伸缩问题,高手请指教
- 一个奇怪的jmail问题!
- 请问 怎么样在ImageButton上添加文字?
- 未能加载文件或程序集“App_Code”或它的某一个依赖项。系统找不到指定的文件。 ---在线等。。
- Infragistics.WebUI.UltraWebTab.UltraWebTab如何使用
- <Asp: id="DataGrid1" runat="server"/>,怎么不能识别Asp:
- 如何进行编辑?
- 各位大侠,有个问题,在线等。!
CreatDataSource().Table.Rows.Count的值为0
但是不显示empty模版的内容。怎么回事呢?
是在数据绑定时,数据的Count为0时才显示!!
所以gdveval.DataSource绝对不会为空
你可以判断TempletName().Tables[0].Rows.Count>0的时候,再加载表头额外的话:
你都自己拼table了,还有gridview干什么,直接自己拼html table tr td代码不就行了
无数据的时候,显示某个label,提示无数据
<EmptyDataTemplate>
<asp:Label ID="Label1" runat="server" Text="请先添加培训课程表!"></asp:Label>
</EmptyDataTemplate>
if (dv.Count > 0)
{
GridView1.DataSource = dv;
GridView1.DataBind();
}
else
{}
EmptyDataTemplate中加入表格,填写表头