gridview 增加自定义列和抬头

   我需要在gridview的结尾增加一个复选框用于选中(为了测试多个自定义列,增加一个文本框列),除了可以用代码控制之外,在源码页面也可以实现:

效果如下图:

   

源代码如下:

 

 
   <!-- 
         要添加多个自定义列的话,声明多个asp:TemplateField 即可
    -->
   <asp:GridView ID="GridView1" runat="server" AllowSorting="True" AutoGenerateColumns="False"
            BackColor="White" BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px"
            CellPadding="4" DataKeyNames="dp_id" DataSourceID="SqlDataSource1" ForeColor="Black"
            GridLines="Vertical">
            <AlternatingRowStyle BackColor="White" />
            <Columns>
                <asp:BoundField DataField="dp_id" HeaderText="dp_id" ReadOnly="True" SortExpression="dp_id" />
                <asp:BoundField DataField="dp_name" HeaderText="dp_name" SortExpression="dp_name" />
                <asp:BoundField DataField="cost_center" HeaderText="cost_center" SortExpression="cost_center" />
                <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
                <asp:TemplateField>
                    <HeaderTemplate>
                        复选框头
                    </HeaderTemplate>
                    <ItemTemplate>
                        <asp:CheckBox runat="server" ID="cbx1" />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField>
                     <HeaderTemplate>
                        文本头
                    </HeaderTemplate>
                      <ItemTemplate>
                        <asp:TextBox runat="server" ID="tbx1" />
                    </ItemTemplate>
                
                </asp:TemplateField>
            </Columns>
            <FooterStyle BackColor="#CCCC99" />
            <HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" />
            <RowStyle BackColor="#F7F7DE" />
            <SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
            <SortedAscendingCellStyle BackColor="#FBFBF2" />
            <SortedAscendingHeaderStyle BackColor="#848384" />
            <SortedDescendingCellStyle BackColor="#EAEAD3" />
            <SortedDescendingHeaderStyle BackColor="#575357" />
        </asp:GridView>

如何获得选中checkbox所在行的部门名称?

 

 protected void Button1_Click(object sender, EventArgs e)
        {
            String str = "";
            foreach(GridViewRow row in GridView1.Rows){
                //注意:这里是ItemTemplate里声明的id名称
                CheckBox ckb = (CheckBox)row.FindControl("cbx1");
                if (ckb.Checked) {
                    str += row.Cells[1].Text;
                }
            }

            Response.Write(str);
        }


 

 

 






 

posted on 2013-11-13 10:12  babyblue  阅读(672)  评论(0)    收藏  举报