<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="PersonID"
DataSourceID="mySource" Width="366px" CellPadding="4"
ForeColor="#333333" GridLines="None">
<Columns>
<asp:CommandField ShowSelectButton="True" />
<asp:BoundField DataField="PersonID" HeaderText="PersonID"
InsertVisible="False" ReadOnly="True" SortExpression="PersonID" />
<asp:BoundField DataField="Name" HeaderText="Name"
SortExpression="Name" />
<asp:TemplateField HeaderText="Select">
<ItemTemplate>
<asp:CheckBox ID="chkSelect" runat="server" />
</ItemTemplate>
<HeaderTemplate>
</HeaderTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<RowStyle BackColor="#FFFBD6" ForeColor="#333333" />
<PagerStyle BackColor="#FFCC66" ForeColor="#333333"
HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />
<HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
=================
TemplateField 에 checkbox 를 위와 같이 구현해 놓았습니다.
=================
// StringBuilder object
StringBuilder str = new StringBuilder();
// 컨트롤에서 checkboxes 선택한다.
for (int i = 0; i < GridView1.Rows.Count; i++)
{
GridViewRow row = GridView1.Rows[i];
bool isChecked = ((CheckBox) row.FindControl("chkSelect")).Checked;
if (isChecked)
{
// Column 2 는 컬럼명
str.Append(GridView1.Rows[i].Cells[2].Text);
}
}
// 결과값을 보기
Response.Write(str.ToString());
===================
위와 같이 , 버튼을 클릭시 이벤트를 정의합니다.
StringBuilder 를 사용할 경우에는 System.Text namespace 를 정의해야 합니다.
===================
<HeaderTemplate>
<input id="chkAll" on click="java script
runat="server" type="checkbox" />
</HeaderTemplate>
====================
check-all 기능을 넣기 위해 HeaderTemplate 를 기술해줍니다.
SelectAllCheckboxes 의 java script 메소드는 아래와 같습니다.
====================
<script language=java script>
function SelectAllCheckboxes(spanChk){
var oItem = spanChk.children;
var theBox= (spanChk.type=="checkbox") ?
spanChk : spanChk.children.item[0];
xState=theBox.checked;
elm=theBox.form.elements;
for(i=0;i<elm.length;i++)
if(elm[i].type=="checkbox" &&
elm[i].id!=theBox.id)
{
if(elm[i].checked!=xState)
elm[i].click();
}
}
</script>