当GridView无数据时的处理方法和如何取EmptyDataTemplate中定义的服务器控件

本文介绍两种处理GridView查询结果为空的情况的方法:一是通过直接添加空数据行;二是利用EmptyDataTemplate特性自定义显示内容,并提供了如何在后台代码中访问EmptyDataTemplate内服务器控件的具体示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当GridView没有查到对应的数据时的处理办法:
1、直接给GridView添加一个空数据的行。
DataTable dt=ds.Tables[0];
DataRow dr=dt.NewRow();
dt.Rows.InsertAt(dr,0);
GridView1.DataSource=dt;
GridView1.DataBind();

2、可以用GridView自带的模板中的方法(EmptyDataTemplate)
如:当GridView为空时给之插入一个类似的Table。
 <EmptyDataTemplate>
                        <table width="100%">
                            <tr>
                                <td>
                                    姓名</td>
                                <td>
                                    年龄</td>
                                <td>
                                    状态</td>
                                <td><asp:Label ID="lblTime" runat="server" Text="发货时间"></asp:Label></td>
                                <td>
                                    操作</td>
                            </tr>
                            <tr>
                                <td>
                                </td>
                                <td>
                                </td>
                                <td>
                                </td>
                                <td>
                                </td>
                                <td>
                                </td>
                            </tr>
                        </table>
</EmptyDataTemplate>
如果后台中要调用EmptyDataTemplate中的服务器控件的话可以用此方法:
例如调用后台中的Label控件lblTime
以下代码必须写在GridView中的RowDataBound事件中:
if(e.Row.RowType==DataControlRowType.EmptyDataRow)
{
 Label lblCell=(Label)GridView1.Controls[0].Controls[0].FindControl("lblTime");  //第一层Control是Table,第二层Control是Row
 lblCell.Text="下单时间";
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值