日期:2014-05-20  浏览次数:20409 次

救命啊,关于VS2005模板列使用radiobutton,实现单选以及取出该列,搞了两天了,不行啊。
是VS2005,C#的,使用的是gridview,模板列

我想在gridview中,第一列设置radio模板列,点击单选,然后将该列的其他值显示在几个text中。

刚开始我模板列里面用的是html的radio,可以单选的,但是不能设置runat= "server "

所以我想在gridview   的SelectedIndexChanged事件中,判断选中的是那个,然后将该行的值付给text

  protected   void   GridView1_SelectedIndexChanged(object   sender,   EventArgs   e)
        {
                int   intSelectedItem   =   -1;
                for   (int   i   =   0;   i   <   GridView1.Rows.Count;   i++)
                {
                        RadioButton   rb   =   (RadioButton)GridView1.Rows[i].FindControl( "radio1 ");
                        if   (rb.Checked)
                        {
                                intSelectedItem   =   i;
                                this.TextBox1.Text   =   GridView1.Rows[i].Cells[1].Text;
                        }
                }
        }

但是我点选的时候SelectedIndexChanged不触发?????:(,而且,GridView又没有AutoPostBack这个东东,不懂啥。。。。。。

后来,我在模板列又用了radionbutton,然后在radionbutton的checkedchanged事件里面写赋值语句,可行,但是,不能单选啊,5555555555


大家帮帮忙啊,看看怎么才能搞定啊?

------解决方案--------------------
不要用服务器控件,否则不能实现单选. 在客户端将这一行的cells中的值给textbox就可以了. 如: onclick= "SetValue(this); " function SetValue(rd) { document.getElementById( "textbox1 ").value = rd.parentNode.parentNode.cells[1].innerText; ........ }