Всем Привет.
У меня не большая проблемма.
Я создаю "CheckBox " в "DataGrid" и пытаюс пытаюсь определить какие из строк были отмеченны .
Я омечау какие либо из строк, но в процедуре они появляютця как не отмеченные ,Если ставит AutoPostBack=true то страница перегруяется сразу и снимает отметку с виделенного "CheckBox"
Я знаю этот вопрос здесь уже ставили,и я взял код отсюда,но я не могу понять почему каждый раз cb.Checked == "false"
Я совсем недавно начал изучать этот язык и если кто может объяснить ошибку болшое спасибо.
Вот код:
<
<asp:DataGrid ID=dgMyComp runat=server BorderColor=black CellPadding=4 CellSpacing=0
Width=730 Font-Names=arial Font-Size=10pt ShowFooter=true HeaderStyle-BackColor=#ffdf00
FooterStyle-BackColor=#e6e6e6 ItemStyle-BackColor=#e6e6e6 AlternatingItemStyle-BackColor=#ffffff
AutoGenerateColumns=false BorderWidth=1 GridLines=Both HeaderStyle-HorizontalAlign=Center >
<Columns>
<asp:TemplateColumn HeaderImageUrl="~/images/cmp.gif" ItemStyle-Width=5 >
<ItemTemplate>
<asp:CheckBox ID="cbCompare" runat="server" />
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
<asp:Button ID="btCompare" runat="server" Text="Compare" OnClick=Compare />
protected void Compare(object sender, EventArgs e)
{
foreach (DataGridItem dgi in this.dgMyComp.Items)
{
CheckBox cb = (CheckBox)dgi.FindControl("cbCompare");
if(cb != null && cb.Checked == true)
{
string hp_unit_id = dgMyComp.DataKeys[dgi.ItemIndex].ToString();
lblCategory.Text = hp_unit_id;
}
}
}