GridView控件常见问题及处理方法

本文详细探讨了ASP.NET中GridView控件在实际应用中遇到的常见问题,包括数据绑定、分页、排序和编辑等方面,并提供了相应的处理方法和优化建议,帮助开发者提升GridView控件的使用效率。
摘要由CSDN通过智能技术生成

 

Asp.net  1 .1版本中的DataGrid控件用于显示表格式的数据,相信大家都用过。Asp.net  2 .0版本中GridView控件是DataGrid控件的继承者,功能比DataGrid增强不少,但是也有很多地方不同。下面把使用中发现的不同点列举如下,希望能对大家的工作有所帮助:

 

1 .     关于隐藏字段的处理:

DataGrid中我们一般把不需要显示又需要在编程中使用的字段在设计期设置为Visible
= False,这样的字段不会显示出来,但在绑定数据时会被绑定值,所以我们可以通过DataGridItem.Cell[x].Text取到所需数据行的数据。

GridView中直接在设计期设置Visible
= False却不能满足上述需求,因为这样设置,虽然字段不会被显示出来了,但数据也没有被绑定到相应的Cell中,通过GridViewRow.Cell[x].Text取到的全是空字符串,估计应该是控件的Bug。如果想达到上述的效果,可以通过其它方法实现,只是麻烦一些:

首先,不要设置字段的Visible
= False

然后处理RowDataBound事件。

protected   void  GridView1_RowDataBound( object  sender, GridViewRowEventArgs e)
{
   e.Row.Cells[x].Visible 
=   false ;
}

 

2 .     关于按钮列的事件:

在DataGrid中,要响应控钮列中的按钮点击事件,可以处理ItemCommand事件:事件的第一个参数source是object类型的,值为DataGrid,第二个参数e是DataGridCommandEventArgs类型的,e中包含四个属性:Item的值为按钮所在的行,CommandSource的值为所点击的按钮,CommandName的值为按钮在设计期定义的值,CommandArgument的值固定为空字符串。在使用中,可以根据Item来区分点击的是哪个行中的按钮,可以根据CommandName来区分一个行中的多个按钮。

private   void  DataGrid1_ItemCommand( object  source, DataGridCommandEventArgs e)
{
   ...
}

在GridView中,要响应控钮列中的按钮点击事件,可以处理RowCommand事件:事件的第一个参数sender是object类型的,值为GridView,第二个参数e是GridViewCommandEventArgs类型的,e中仅包含三个属性,比DataGrid控件中的相应事件少了关键的Item属性,CommandSource的值也与DataGrid中的不一样,在这里为GridView,CommandName的值为按钮在设计期定义的值,CommandArgument的值为被点击的按钮所在行的索引。在使用中,可以根据CommandArgument来区分点击的是哪个行中的按钮,可以根据CommandName来区分一个行中的多个按钮。

    
protected   void  GridView1_RowCommand( obj
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值