怎样在一个GridView中实现全选效果(用html中的复选框)
并且在复选框选中后该行的背景颜色改变,在aspx的后置文件(即后缀为cs的文件)中获得相应的数据行?

解决方案 »

  1.   

    http://topic.csdn.net/u/20080903/10/eef85cef-59cc-4a68-ae08-cd988486b165.html在这个帖子里已经解决
      

  2.   

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
         <script language="javascript"> 
      function checkme(obj,tr)
      {
          if(obj.checked)
          tr.style.backgroundColor='#CCCCCC'; 
          else
          tr.style.backgroundColor=''; 
      }  </script></head>
    <body>
        <form id="form1" runat="server">
        <div>
       <asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False"> 
      <Columns>  <asp:TemplateColumn>  <ItemTemplate>  <asp:CheckBox id="checkbox1" Runat ="server"></asp:CheckBox>  </ItemTemplate>
        </asp:TemplateColumn>  </Columns>
        <Columns>
        <asp:TemplateColumn>  <ItemTemplate>
                <asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem") %>'></asp:Label>  </ItemTemplate>
        </asp:TemplateColumn>
        </Columns>
      </asp:DataGrid>
        </div>
        </form>
    </body>
    </html>    private void Page_Load(object sender, System.EventArgs e)
        {        if (!IsPostBack)
            {
                databind();
            }    }
        private void databind()
        {
            ArrayList arr = new ArrayList();        arr.Add("新闻综合");        arr.Add("综艺");        arr.Add("电影");        arr.Add("教育");        arr.Add("戏剧");        arr.Add("军事");        arr.Add("体育");        DataGrid1.DataSource = arr;        DataGrid1.DataBind();        int i;        for (i = 0; i < DataGrid1.Items.Count; i++)
            {            CheckBox cb;            cb = (CheckBox)DataGrid1.Items[i].FindControl("checkbox1");            DataGrid1.Items[i].Attributes.Add("id", "tr" + i.ToString());            cb.Attributes.Add("onclick", "checkme(this,tr" + i.ToString() + "); ");
            }    }