gridview 中的所有列都用模版, 放了一个textbox控件...
当改变某列的textbox的时候 改变 同行 其他列的值, 用客户端实现怎么实现? 我想 用服务器端回发是可以实现的,但是每次postback会很慢, 再说,和服务器端没什么关系...所以只要用客户端实现. 可是这怎么实现呢?

解决方案 »

  1.   

    gridview生成的是table假设text中设定为 changecells(this)
    function changecells(obj)
    {
        //使用obj.parentNode,一般来说可以得到tr的引用,再使用 obj.parentNode.childNodes[索引]
        //可以得到相应的列的引用,改变其 innerText或是innerHTMl既可
    }
      

  2.   

    为了帮助你.建议你下载一本动态 HTML (DHTML) 对象模型参考.chm的参考资料msdn中也有,在internet开发中,里面记载了详细的属性,方法等,还有示例
      

  3.   

    通过给控件添加onblur等JS事件实现
    var tr=obj.parentNode.parentNode; 
    http://topic.csdn.net/u/20090420/18/454ef5f7-565b-4887-931a-8d5a70082cba.html
    http://topic.csdn.net/u/20090411/14/995dadd2-e45e-47ea-8ab9-a583f86024df.html
      

  4.   

    遍历gridview生成出来的table,使用getElementsByTagName()取得控件(html标签)
    假如你的gridview生成出来的table的id=“tb1”
    那么:
    var tb=document.getElementById("tb1");
    for(var r=0;r<tb.rows.length;r++)
    {
       var _control=tb.rows[r].getElementsByTagName("你想要的控件的标签");
    }
      

  5.   

    使用 js遍历你的parentNode.childNodes吧
      

  6.   

    客户端js来实现,可以考虑用jQuery,还有做之前先看看页面源代码文件,看清楚了以后再做。
      

  7.   

    我是楼主
    谢谢大家.
    我现在gridview 中初步实现了....
    可是我现在用dev公司的控件,  aspxgridview, 好像就实现不了. 不知道哪位朋友试过.