CheckBox v DataGrid
От: Pret  
Дата: 12.05.07 21:17
Оценка:
Всем Привет.
У меня не большая проблемма.
Я создаю "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;
            }
        }

         
    }
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.