[原创]Asp.Net的GridView绑定空数据显示标题
作者:C/S框架网  发布日期:2011/06/12 18:32:27
  [原创]Asp.Net的GridView绑定空数据显示标题


C/S框架网|www.csframework.com|CSFramework.com|[原创]Asp.Net的GridView绑定空数据显示标题

[原创]Asp.Net的GridView绑定空数据显示标题

众所周知Asp.Net中的GridView控件能以表格的形式显示数据。我们给GridView控件指定数据源(DataSource属性),再调用GrideView的DataBind()方法就可以显示数据。在某些情况下我们可能绑定一个空数据源。比如根据用户输入的查询条件查询出结果可能为空。在这种情况下页面GridView就什么也不显示,也不显示标题,看起来相当不美观了,还以为程序出错呢! 这时我们只能弹出提示框告诉用户了。


好了,直奔主题:


1.给GridView控件设计一个空数据模板(EmptyDataTemplate)。


这个模板只有在绑定数据为空时显示。


<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Height="140px"

                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测试代码


//易学网-易学原创 www.vjsdn.com 如转载请注明出处

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派生出的类。



C/S框架网|原创精神.创造价值.打造精品

扫一扫加微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务


上一篇 下一篇