2014-04-17 6 views
0

Я пытаюсь добавить GridView, и я добавил кнопку в последний столбец. Он ничего не делал, и я сделал новый ярлык, чтобы увидеть, если он возвращает какие-либо данные, но он работает только в последней строке. Вы видите что-то не так с моим кодом? Заранее спасибо!GridViewRow только выбор последней строки

HTML

   <asp:Button runat="server" Text="Submit" OnClick="ButtonClick8" /> 
       </ItemTemplate> 
      </asp:TemplateField> 

     </Columns> 
     <FooterStyle BackColor="#FFFFCC" ForeColor="#330099" /> 
     <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="#FFFFCC" /> 
     <PagerStyle BackColor="#FFFFCC" ForeColor="#330099" HorizontalAlign="Center" /> 
     <RowStyle BackColor="White" ForeColor="#330099" /> 
     <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="#663399" /> 
     <SortedAscendingCellStyle BackColor="#FEFCEB" /> 
     <SortedAscendingHeaderStyle BackColor="#AF0101" /> 
     <SortedDescendingCellStyle BackColor="#F6F0C0" /> 
     <SortedDescendingHeaderStyle BackColor="#7E0000" /> 
    </asp:GridView> 

C#

protected void ButtonClick8(object sender, System.EventArgs e) 
{ 
    Button button2 = (Button)sender; 

    GridViewRow row2 = (GridViewRow)button2.NamingContainer; 
    int i = 0; 
    int string1; 
    foreach (GridViewRow gvr in GridView2.Rows) 
    { 
     if (gvr == row2) 
     { 
      string1 = Convert.ToInt32(gvr.Cells[0].Text); 
      Label1.Text = string1.ToString(); 

     } 
     else 
     { 
      Label1.Text = "no"; 
     } 
    } 

Снова спасибо!

ответ

1

Ваш цикл foreach выполняется до достижения последнего столбца и переопределения текста метки. Выход из цикла, когда gvr == row2:

foreach (GridViewRow gvr in GridView2.Rows) 
{ 
    if (gvr == row2) 
    { 
     string1 = Convert.ToInt32(gvr.Cells[0].Text); 
     Label1.Text = string1.ToString(); 
     break; 

    } 
    else 
    { 
     Label1.Text = "no"; 
    } 
} 
+0

thats большой. Очень ценю помощь! – user3437235

Смежные вопросы