小弟新学.net,请教个问题做一个网站后台.做数据列表管理,我要在列表中加入checkbox做批量管理功能,请给个思路我要点击:全选,则checkbox就全选中,再点击就全不选中.checkbox的值为数据库中的ID序列值,这样方便提交程序处理.用其它语言我都方便实现,可用vs2005我还不熟,请各位帮忙,谢谢.

解决方案 »

  1.   

    <asp:TemplateField>
                        <HeaderTemplate>
                            <asp:CheckBox ID="CheckBox3" runat="server" Text="全选" onclick="javascript:SelectAll(this);"/>
                        </HeaderTemplate>
                        <ItemTemplate>
                            <asp:CheckBox ID="CheckBox2" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"ID") %>' />
                        </ItemTemplate>
                    </asp:TemplateField>
    function  SelectAll(tempControl)  
    {  
         //将除头模板中的其它所有的CheckBox取反   var  theBox=tempControl;  
       xState=theBox.checked;             elem=theBox.form.elements;  
       for(i=0;i<elem.length;i++)  
       if(elem[i].type=="checkbox"  &&  elem[i].id!=theBox.id)  
       {  
           if(elem[i].checked!=xState)  
           elem[i].click();  
       }  
    }
      

  2.   

    嗯,js是要用的,我也没有问题可怎么用checkbox列出来,我不不会,请教咯
      

  3.   

    问题已解决,还有个相关问题请教                <Columns>
                        <asp:TemplateField HeaderText="全选">
                            <HeaderTemplate>
                                <asp:CheckBox ID="CheckBox3" runat="server" Text="全选" onclick="javascript:SelectAll(this);"/>
                            </HeaderTemplate>
                            <ItemTemplate>
                                <asp:CheckBox ID="CheckBox2" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"ID") %>' />
                            </ItemTemplate>
                        </asp:TemplateField>
                        <asp:BoundField DataField="name" HeaderText="内容" SortExpression="name" />
                        <asp:BoundField DataField="sitetype" HeaderText="类型" SortExpression="sitetype" />
                        <asp:BoundField DataField="viewstate" HeaderText="状态" SortExpression="viewstate" />
                        <asp:TemplateField HeaderText="排序">
                            <ItemTemplate>
                                <asp:TextBox ID="AOrd" runat="server" Width="20" Height="12"></asp:TextBox>                        
                            </ItemTemplate>
                        </asp:TemplateField>
                        <asp:BoundField DataField="onclicktime" HeaderText="点击量" SortExpression="onclicktime" />
                        <asp:BoundField DataField="creatime" HeaderText="更新时间" SortExpression="creatime" />
                        <asp:TemplateField HeaderText="编辑">
                            <ItemTemplate>
                                <a href="SiteList.aspx?deal=edit&id=<%#DataBinder.Eval(Container.DataItem,"ID") %>">编辑</a>
                            </ItemTemplate>
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="删除">
                            <ItemTemplate>
                                <a href="SiteList.aspx?deal=del&id=<%#DataBinder.Eval(Container.DataItem,"ID") %>">删除</a>
                            </ItemTemplate>
                        </asp:TemplateField>
                    </Columns>
                    <RowStyle BackColor="#F7F7DE" />
                    <SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
                    <PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" />
                    <HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" />
                    <AlternatingRowStyle BackColor="White" />
                </asp:GridView>
                <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:eShopConn %>"
                    SelectCommand="SELECT [id], [name], [sitetype], [viewstate], [onclicktime], [creatime], [disporder] FROM [wap_sites] ORDER BY [disporder]">
                </asp:SqlDataSource>问题1,比如说:状态列,从数据库调出来是1或0,而我要显示为开放或关闭,如何写?
    问题2,排序那里的textbox要赋默认值,如何写?谢谢咯
      

  4.   

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
            {
                if (e.Row.RowType==DataControlRowType.DataRow)
                {
                    if (e.Row.Cells[1].Text == "1")
                    {
                        e.Row.Cells[1].Text = "开放";
                    }
                    else
                    {
                        e.Row.Cells[1].Text = "关闭";
                    }
    }
    }
    第2问没看懂
      

  5.   

    问题2,排序那里的textbox要赋默认值,如何写?就是说,我从数据库把排序的值查出来,要给textbox赋值,也想方便的在更改排序呀
      

  6.   

    DataKeyField  把值给它