解决gridview空行时不显示的问题

来源:互联网 发布:java反射动态执行方法 编辑:程序博客网 时间:2024/05/29 05:11
问题:

      GridView控件应用很是广泛,通常将它与DataSourceControl搭配使用,当然也可以手工指定DataSource属性来完成数据绑定。如果数据源返回一个空行的数据集(例如查询不到指定记录等)时,将会出现两种情况:
      1.当GridView未指定<EmptyDataTemplate>或EmptyDataText属性时,控件将不会被最终生成,网页上的表现为空白,这样不仅感觉不爽,而且很容易造成布局的变形。
      2.如果指定了<EmptyDataTemplate>或EmptyDataText属性,网页上将最终产生一个table元素,它具有一行一格,可以显示出设置的提示信息,但是这种情况下该table将不会显示出表头来。
      通常希望的是,即使数据源返回一个空行的数据集,但是原有的Table元素也应该被显示出来,它应该带一个表头行,以及一个空白行。


   解决办法:

      通过手工向数据源添加一个新行即可解决。在此过程应该处理好以下几个方面的事情。
      1.在 New 一行时,如果包含主键列,则该列的值会被自动赋值(如 int 列会被赋值 0 )。对此应该手工将新行的每一列都赋值为 DBNull.Value ;
      2.由于可能存在有非空约束,会造成插入失败,因此必须手工将每一列的 AllowDBNull 属性重新设定
      以下示例 GridView 绑定至 ObjectDataSource 时的处理代码:
Selected事件
原创粉丝点击