2016-04-21 4 views
0

Я создаю приложение для резервирования в ASP.NET, C#. У меня есть gridview с кнопкой asp.net, которая вызывает метод C# для обновления базы данных на основе некоторых данных в строке gridview.Сохраните данные и скройте строку ASP.NET Gridview после нажатия кнопки

Как скрыть строку нажатием кнопки и сохранить данные?

код Источник:

ASPX

<asp:GridView ID="GridView1" runat="server" HorizontalAlign="Center" AllowPaging="True" CellPadding="3" Width="568px" GridLines="Vertical" Visible="False" AutoGenerateColumns="False" BackColor="White" BorderColor="#999999" BorderStyle="None" BorderWidth="1px">  

     <FooterStyle BackColor="#CCCCCC" ForeColor="Black" /> 
     <HeaderStyle BackColor="#121315" Font-Bold="True" ForeColor="White" /> 
     <PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" /> 
     <RowStyle BackColor="#EEEEEE" ForeColor="Black" /> 
     <SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" /> 
     <SortedAscendingCellStyle BackColor="#F1F1F1" /> 
     <SortedAscendingHeaderStyle BackColor="#0000A9" /> 
     <SortedDescendingCellStyle BackColor="#CAC9C9" /> 
     <SortedDescendingHeaderStyle BackColor="#000065" /> 

      <AlternatingRowStyle BackColor="#DCDCDC" /> 

     <Columns>   

     <asp:TemplateField HeaderText="HALL"> 
       <EditItemTemplate> 
        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("HallGroupID") %>'></asp:TextBox> 
       </EditItemTemplate> 
       <ItemTemplate> 
        <asp:Label ID="Label1" runat="server" Text='<%# Bind("Name") %>'></asp:Label> 
       </ItemTemplate> 
      </asp:TemplateField> 

      <asp:TemplateField HeaderText="ID"> 
       <EditItemTemplate> 
        <asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("ShowSeatID") %>'></asp:TextBox> 
       </EditItemTemplate> 
       <ItemTemplate> 
        <asp:Label ID="Label3" runat="server" Text='<%# Bind("ShowSeatID") %>'></asp:Label> 
       </ItemTemplate> 
      </asp:TemplateField> 

      <asp:TemplateField HeaderText="COLOR"> 
       <EditItemTemplate> 
        <asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("Color") %>'></asp:TextBox> 
       </EditItemTemplate> 
       <ItemTemplate> 
        <asp:Label ID="Label4" runat="server" Text='<%# Bind("Color") %>'></asp:Label> 
       </ItemTemplate> 
      </asp:TemplateField> 

      <asp:TemplateField HeaderText="PRICE"> 
       <EditItemTemplate> 
        <asp:TextBox ID="TextBox5" runat="server" Text='<%# Bind("Price") %>'></asp:TextBox> 
       </EditItemTemplate> 
       <ItemTemplate> 
        <asp:Label ID="Label5" runat="server" Text='<%# Bind("Price") %>'></asp:Label> 
       </ItemTemplate> 
      </asp:TemplateField> 

      <asp:TemplateField HeaderText="ROW"> 
       <EditItemTemplate> 
        <asp:TextBox ID="TextBox6" runat="server" Text='<%# Bind("SeatRow") %>'></asp:TextBox> 
       </EditItemTemplate> 
       <ItemTemplate> 
        <asp:Label ID="Label6" runat="server" Text='<%# Bind("SeatRow") %>'></asp:Label> 
       </ItemTemplate> 
      </asp:TemplateField> 

      <asp:TemplateField HeaderText="NUMBER"> 
       <EditItemTemplate> 
        <asp:TextBox ID="TextBox7" runat="server" Text='<%# Bind("SeatNumber") %>'></asp:TextBox> 
       </EditItemTemplate> 
       <ItemTemplate> 
        <asp:Label ID="Label7" runat="server" Text='<%# Bind("SeatNumber") %>'></asp:Label> 
       </ItemTemplate> 
      </asp:TemplateField>    

      <asp:TemplateField HeaderText="STATUS" SortExpression="Active"> 
        <ItemTemplate><%# (Boolean.Parse(Eval("IsReserved").ToString())) ? "RESERVED" : "FREE" %></ItemTemplate> 
      </asp:TemplateField>    

      <asp:TemplateField>     
       <ItemTemplate>       
        <asp:Button ID="ButtonReserve" style="background:#2ACC16; border-radius:8px;" runat="server" CommandName="Reserve" HeaderText="BOOK SEAT" Text="Reserve" OnClick="ButtonReserve_Click" />     
       </ItemTemplate>    
      </asp:TemplateField> 

     </Columns>      
    </asp:GridView> 

код за

protected void ButtonReserve_Click(object sender, EventArgs e) 
{ 
    GridViewRow gvr = ((Button)sender).Parent.Parent as GridViewRow; 
    Label hallID = (Label)gvr.FindControl("Label1");  
    Label seatID = (Label)gvr.FindControl("Label3"); 
    Label color = (Label)gvr.FindControl("Label4"); 
    Label price = (Label)gvr.FindControl("Label5"); 
    Label seatRow = (Label)gvr.FindControl("Label6"); 
    Label seatNumber = (Label)gvr.FindControl("Label7"); 

    Label7.Text = hallID.Text;  
    Label9.Text = seatID.Text; 
    Label10.Text = color.Text; 
    Label11.Text = price.Text; 
    Label12.Text = seatRow.Text; 
    Label13.Text = seatNumber.Text; 

} 
+0

Что вы пытаетесь? Где вы застряли? «GridViewRow», как и любой другой элемент управления веб-интерфейса, имеет свойство «.Visible», которое вы можете установить. – David

+0

Пожалуйста, поместите здесь весь свой код сетки, если сможете .... –

+0

Я попробовал добавить ButtonReserve.Visible = false; но показывает ошибку: имя не существует в текущем контексте. – Paulius

ответ

1

Обычно вы не скрыть строку.

Вы сделаете обновление и переустановите GridView.

В зависимости от ваших потребностей строка будет либо исключена из набора данных, либо включена и помечена каким-либо образом, чтобы представить ее новое «обновленное» состояние.

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