CheckBox가 포함 된 gridview가 있습니다.GridView에서 RowCreated의 CheckBox 속성 변경
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" OnRowCreated="GridView1_RowCreated"
BackColor="#F1EFC5" CssClass="SearchEveryWhere_Table" Width="500px">
<HeaderStyle BackColor="#5391DD" ForeColor="White" />
<Columns>
<asp:BoundField DataField="CityCode" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle" Visible="false">
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" CssClass="EntryCell hideElement" />
</asp:BoundField>
<asp:BoundField DataField="Switch" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle" Visible="false">
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" CssClass="EntryCell hideElement" />
</asp:BoundField>
<asp:BoundField DataField="Page_Number" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle" HeaderText="Page">
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" CssClass="EntryCell" />
</asp:BoundField>
<asp:BoundField DataField="Name" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle" HeaderText="Title">
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" CssClass="EntryCell" />
</asp:BoundField>
<asp:TemplateField HeaderText="Access">
<ItemTemplate>
<asp:CheckBox runat="server" AutoPostBack="true" OnCheckedChanged="chkStatus_OnCheckedChanged" Checked='<%# Convert.ToBoolean(Eval("Access")) %>' ID="chkStatus" ClientIDMode="Static" />
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
</Columns>
</asp:GridView>
나는 값이 확인란의 변화 ID를 원하는 등이 :
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
try
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
sp_GetPageAccess08_New_Result CurrentREcord = (sp_GetPageAccess08_New_Result)e.Row.DataItem;
e.Row.Cells[4].FindControl("chkStatus").ID = "chkStatus_" + CurrentREcord.CityCode + "_" + CurrentREcord.Page_Number + "_" + CurrentREcord.Switch.ToString();
if (CurrentREcord.Access == false)
{
e.Row.BackColor = System.Drawing.Color.FromArgb(252, 212, 243);
}
}
}
catch (Exception ex)
{
}
}
나는 내가 chkStatus
chkStatus_OnCheckedChanged
얻을 ID
을 얻고 싶은 경우에 문제가 :
rotected void chkStatus_OnCheckedChanged(object sender, EventArgs e)
{
try
{
CheckBox chk = sender as CheckBox;
string ID = chk.ID;
어떻게 ID
을 chkStatus
으로 변경할 수 있습니까? chkStatus_OnCheckedChanged
에 들어갈 수있는 속성에 문자열을 저장할 수 없다면 어떻게 될까요?
감사
내 코드의
ID 속성을 사용하지 않아도됩니다 (다시 게시 할 때 다시 작성해야 함) 대신 확인란 속성을 사용합니다. attibutes 사용에 대한이 링크를 확인하십시오. http://www.codeproject.com/Tips/88324/Passing-command-arguments-to-a-checkbox – Nico