不是高手,给个思路。
没用过2005里的GridView,给不出具体代码。
给CheckBox添加OnCheckedChanged事件
<asp:CheckBox ID="CheckBox1" runat="server" Style="position: relative" OnCheckedChanged="Check_Clicked" />
点击时响应事件
void Check_Clicked(Object sender, EventArgs e) 
{
//这里遍历GridView的行,从中找出Check_Clicked被选中的行,
//然后出你需要的那个列的值就OK
//这在03里很容易实现
}
这样下来第0列和模板列里的label都不需要。

解决方案 »

  1.   

    这样的东西我做过很多。
    概括起来思路这样:
    <1>响应OnCheckedChanged事件
    <2>确定事件是发生在哪一行
    <3>对选中行作处理难点在于怎么确定是哪一行引发的事件。
    最简单的方法是遍历所有行,哪个被选中就是哪个,没有选中的不管。我一般配合客户般,实现起来也没那么多回传。
    第二种方法我在DataGrid里做过,
    void Check_Clicked(Object sender, EventArgs e) 
    传进来的参数sender就是CheckBox1,它的CheckBox1.Parent.Parent就是DataGrid的行,把它直接转成行取数据就可以了。
      

  2.   

    模板列绑定时
    <input id="chkID" onclick="ChooseValue(this);" runat="server" value='<%#Eval("id")%>' type="checkbox" />
    <input id="hdn<%#Eval("id")%>" type="hidden"  value="你要取的值"/>js
    function ChooseValue(obj)
    {
      var idx = document.getElementById(obj).value;
      //你要取到的值
      document.getElementById('hdn'+idx).value;
    }
      

  3.   

    第二种方法代码
    void Check_Clicked(Object sender, EventArgs e)
    {
    CheckBox tb = sender as TextBox;
    if(tb!=null&&tb.Checked)
    {
    GridViewRow gvr = tb.Parent.Parent as GridViewRow;
    if(gvr!= null)
    {
    textbox1.Text = gvr.Cells["Memory"].Text;
    }
    }
    }
      

  4.   

    oasis_wen(嘿嘿)
    用客户端方法在简单情况下是可行的。
      

  5.   

    to tesling(邦有道,贫且贱焉,耻也;邦无道,富且贵焉,耻也。) 错误 1 “base_system_Department_add.Check_Clicked(object, System.EventArgs)”不可访问,因为它受保护级别限制 D:\xxsbwh\base_system\Department_add.aspx 27 即 <asp:CheckBox ID="CheckBox1" runat="server" Style="position: relative" OnCheckedChanged="Check_Clicked" /> 出错
      

  6.   

    </EditItemTemplate>
                        <ItemTemplate>
                            <asp:CheckBox ID="CheckBox1" runat="server" Style="position: relative" OnCheckedChanged="Check_Clicked" />
                        </ItemTemplate>-------不可访问,因为它受保护级别限制。----------------
    不允许加事件吗?
      

  7.   

    function checkItem(textboxID, grid, LineId, CoulmnId)
    {
      document.getElementById(textboxID).value = 
       document.getElementById(grid).controls[LineId].controls[CoulmnId].value;
    }
      

  8.   

    然后把checkbox的客户端onchecked事件指定为checkItem
      

  9.   

    TO james_hunter(辉)
    能不能再详细些,如如何在TEXT1=
    等如何获得值。后台如何写代码
      

  10.   

    TO james_hunter(辉)我没看懂,JS不熟。textbox1.Text= 
    如何取值
      

  11.   

    var tt=document.getElementsByTagName("input")
    if tt[i].type=="checkbox"
      

  12.   

    在编辑模板里双击checkbok,进入事件,然后用findControl打到,你想取什么值,怎么做都行了,checkbox的  AutoPostBack="true" ;
     
    protected void CheckBox3_CheckedChanged(object sender, EventArgs e)
        {        CheckBox box;
            for (int i = 0; i < this.GridView1.Rows.Count; i++)
            {
                box = this.GridView1.Rows[i].FindControl("CheckBox3") as CheckBox;            if (box.Checked)
                {
                    Response.Write(GridView1.Rows[i].Cells[0].Text);
                }
            }    }
      

  13.   

    protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
        {
            for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
            {
                CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
                if (cbox.Checked == true)
                {
                   this.TextBox1.Text = GridView1.Rows[i].Cells[2].Text.ToString();
                 }
                       
            }           }只能取值一次,我想点击下一个CheckBox显示另一值,另外如何取消CheckBox时,取值为空