[原创]Asp.Net的GridView绑定空数据显示标题
众所周知Asp.Net中的GridView控件能以表格的形式显示数据。我们给GridView控件指定数据源(DataSource属性),再调用GrideView的DataBind()方法就可以显示数据。在某些情况下我们可能绑定一个空数据源。比如根据用户输入的查询条件查询出结果可能为空。在这种情况下页面GridView就什么也不显示,也不显示标题,看起来相当不美观了,还以为程序出错呢! 这时我们只能弹出提示框告诉用户了。
好了,直奔主题:
1.给GridView控件设计一个空数据模板(EmptyDataTemplate)。
这个模板只有在绑定数据为空时显示。
Width="324px">
<EmptyDataTemplate>
<table>
<tr>
<th style="width: 60px;">
ID</th>
<th style="width: 60px;">
Name</th>
<th style="width: 60px;">
Remark</th>
</tr>
<tr>
<td colspan="3">
没有记录显示!
</td>
</tr>
</table>
</EmptyDataTemplate>
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID">
<HeaderStyle Width="60px" />
</asp:BoundField>
<asp:BoundField DataField="Name" HeaderText="Name">
<HeaderStyle Width="60px" />
</asp:BoundField>
<asp:BoundField DataField="Remark" HeaderText="Remark">
<HeaderStyle Width="60px" />
</asp:BoundField>
</Columns>
</asp:GridView>
//易学网-易学原创 www.vjsdn.com 如转载请注明出处
样式设计自己去完成了,注意EmptyDataTemplate定义的宽度与Columns.BoundField宽度一致就行。
2. Page.cs测试代码
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
GridView1.DataSource = GetTestData();
GridView1.DataBind();
}
private object GetTestData()
{
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(Int32));
dt.Columns.Add("Name", typeof(String));
dt.Columns.Add("Remark", typeof(String));
return dt;
}
}
3. 页面显示
4.参考:GridView.Columns属性
// Summary:
// Gets a collection of System.Web.UI.WebControls.DataControlField objects that
// represent the column fields in a System.Web.UI.WebControls.GridView control.
//
// Returns:
// A System.Web.UI.WebControls.DataControlFieldCollection that contains all
// the column fields in the System.Web.UI.WebControls.GridView control.
大概意思: 获取GridView 控件中列字段的 DataControlField 对象的集合。
5.GridView的Columns属性包括下列类的集合:
我们可以通过GridView.Columns.Add()方法手工添加由DataControlField派生出的类。
扫一扫加微信