日期:2014-05-18  浏览次数:20404 次

[分享]gridview整行选择又不显示选择列 最简单的方法
很多人对gridview中的那个选择列,都不是很满意,很对客户也是对要点那个“选择”感觉很别扭,网上一般有两种方法可以实现整行选择的效果,

一种是利用这个选择列,加个效果而已
好处:代码改动小,实现简单
坏处:仍然必须带着那个“选择”的列

一种是加个模板列,利用模板列实现选择
好处:表现比较酷,可以使选择变成自己想要的样式
坏处:麻烦,对于仅仅改变这样一个东西,需要弄的地方很多

我懒,所以我一直用第一种,代码如下:
protected   void   GridView1_RowCreated(object   sender,   GridViewRowEventArgs   e)
{
if   (e.Row.RowType   ==   DataControlRowType.DataRow)
{                        
e.Row.Attributes.Add( "onmouseover ",   "currentcolor=this.style.backgroundColor;this.style.backgroundColor= '#C0C0FF ';this.style.cursor= 'hand '; ");
//当鼠标移走时还原该行的背景色
e.Row.Attributes.Add( "onmouseout ",   "this.style.backgroundColor=currentcolor ");
//选择任意处都选择
e.Row.Attributes.Add( "onClick ",   "javascript:__doPostBack( ' "   +   GridView1.ID   +   " ', 'Select$ "   +   e.Row.RowIndex   +   " '); ");
}

就是在gridview的RowCreated事件里搞一下,很多人不愿意用,因为它仍然显示“选择”,其实,只要在前台的代码里面,把SelectText设置成空格就可以了

<asp:CommandField   ShowSelectButton= "True "   SelectText= "   ">
      <ItemStyle   Width= "10px "   />
</asp:CommandField>

这样,把这个选择行设置在整个gridview的第一列,留一点宽度,在整个表格的展现上都很漂亮,第一列也不顶在最左边了,整个效果也出来了,还可以正常的使用gridview自带的SelectedIndexChanged事件,多方便,一举好记得呢   :)



------解决方案--------------------
LZ精神值得学习!

------解决方案--------------------
学习。。

------解决方案--------------------
学习。。
------解决方案--------------------
:)
------解决方案--------------------
up
------解决方案--------------------
^_^
------解决方案--------------------
up
------解决方案--------------------
学习