关于Gridview自动生成列后,手动设定的模板列位置问题解决方案

 关于在Gridview中使用AutoGenerateColumns="true"后模板列总是排在第一列的处理。
 情况说明:有人也许会觉得好笑,直接在Gridview中编辑列然后设定好数据,最后再放模板列不就OK了,不过,这里要说明下,有时候不使我们偷懒不想设定,而是没有办法设定
    在这里,返回的数据源是ArrayList(实体类还是动态生成的)也好,DataTable(存储过程多表查询平凑的数据)也罢,里面有多少列数据都是从法知道的,这种情况
    肯定是不能手动在Gridview中指定BoundFiled了。
 好了,废话不多说,这里没有好的处理方法,只是用js做了下障眼法而已。
 分析:也曾想过在后台动态添加模板列,但是一直没有好的效果。最后干脆就在页面加载完成后处理,大家也都看过页面的html源代码,Gridview最后生成的是一个Table而已,那
       我们就从Table下手,我们可以把第一列隐藏起来,然后在每一行后面添加一列,也就是把第一列copy到最后一列。下面就行动吧。
       Code如下:


页面代码:

后台代码:

    关于动态类的创建,在后期也会贴上来,同时还有一个js版的用户自定义显示列的动能(尚未测试)
    如有更好的方法,欢迎批评指正,谢绝无聊跟帖与留言。

 

新修改:在window.οnlοad=function()里

          if(tb.rows[i].cells.length<=1) break;//防止分页出现tb.rows[i].cells[0]为空情况,这里要看分页怎么做,然后做相应的修改

          获取GridView的Id 可以直接用<%= GridView1.ClientID %>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值