这里你在初始化的时候数据了,只是不显示而已,当checked的时候显示它就可以了.
display:none/block

解决方案 »

  1.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="">
    <META NAME="Keywords" CONTENT="">
    <META NAME="Description" CONTENT="">
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function showDiv(cbx,div)
    {
    var cbx = document.getElementById(cbx);
    var div = document.getElementById(div);
        if (cbx.checked)
        {
    div.style.display ="block";
        }
    else
    {
    div.style.display ="none";
    }
    }
    //-->
    </SCRIPT>
    </HEAD><BODY>
    <TABLE>
    <TR>
    <TD> <input  type="checkbox" id="ff1" value="1" onclick="showDiv('ff1','div1')">aaaaa</TD>
    </TR>
    <TR>
    <TD><div id="div1" style="display:none" >aaaaaaaaaaaaaaaaa</div></TD>
    </TR>
    <TR>
    <TD> <input  type="checkbox" id="ff2" value="2" onclick="showDiv('ff2','div2')">bbbbbbbb</TD>
    </TR>
    <TR>
    <TD><div id="div2" style="display:none">bbbbbbbbbbbbbbbbbbbbbb</div></TD>
    </TR>
    </TABLE>
    </BODY>
    </HTML>
      

  2.   

    <HEAD>
    <TITLE> New Document </TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="">
    <META NAME="Keywords" CONTENT="">
    <META NAME="Description" CONTENT="">
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function showDiv(cbx,div)
    {
    var cbx = document.getElementById(cbx);
    var div = document.getElementById(div);
        if (cbx.checked)
        {
    div.style.display ="block";
        }
    else
    {
    div.style.display ="none";
    }
    }
    //-->
    </SCRIPT>
    </HEAD><asp:TemplateColumn>
    <ItemTemplate>
    <asp:CheckBox ID="cbxNews" runat="server" AutoPostBack="False"></asp:CheckBox>
    </ItemTemplate>
    </asp:TemplateColumn><asp:TemplateColumn>
    <ItemTemplate>
    <asp:Label id="lblDetail" runat="server" Text='<%DataBinder.Eval(Container.DataItem,"内容字段")%>'  style="display:none"></asp:Label>
    </ItemTemplate>
    </asp:TemplateColumn>
    //ItemDataBound事件里加上脚本
    private void ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    CheckBox  cbx = (CheckBox) e.Item.FindControl("cbxNews") ;
    Label  lbl = (Label) e.Item.FindControl("lblDetail") ;
    if (cbx != null && lbl != null)
    {
    //加上onclick事件
    cbx.Attributes.Add("onclick","showDiv('"+cbx.ClientID+"','"+lbl.ClientID+"')");
    } }
    这里的Label也可以替换为Panel
    那段脚本也可以注册的方式添加.
      

  3.   

    http://adandelion.cnblogs.com/archive/2005/11/12/274505.html
    Asp.net中DataGrid利用DataRelation显示主从表信息(可控制从表信息隐藏和显示).