2014-02-03 4 views
0

Как удалить из удаления сетки?GridView Удалить Функция не работает

enter image description here

Я попытался это, но он не работает?

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:myConnectionString %>" SelectCommand="SELECT * FROM [Groups]" DeleteCommand ="DELETE FROM Groups WHERE GroupID = @GroupID"> 
     <DeleteParameters> 
      <asp:ControlParameter Name="GroupID" ControlId="DropDownListID" PropertyName="SelectedValue" /> 
      <asp:ControlParameter Name="GroupName" ControlId="DropDownListID" PropertyName="SelectedValue" /> 
      <asp:ControlParameter Name="Description" ControlId="DropDownListID" PropertyName="SelectedValue" /> 

     </DeleteParameters> 

Gridview код:

<asp:GridView ID="GridView_manageGroup" runat="server" AllowPaging="True" AllowSorting="True" CssClass="table table-striped table-bordered table-hover" AutoGenerateColumns="False" DataKeyNames="GroupID" DataSourceID="SqlDataSource1"> 
     <Columns> 
      <asp:BoundField DataField="GroupID" HeaderText="Group ID" InsertVisible="False" ReadOnly="True" SortExpression="GroupID" /> 
      <asp:BoundField DataField="Description" HeaderText="Description" SortExpression="Description" /> 
      <asp:BoundField DataField="GroupName" HeaderText="Group Name" SortExpression="GroupName" /> 
      <asp:CommandField ShowSelectButton="True" /> 
      <asp:CommandField ShowDeleteButton="True" /> 
     </Columns> 
    </asp:GridView> 

ответ

3

Поскольку вы уже установили DataKeyNames="GroupID" в <asp:GridView> теге

<asp:GridView ID="GridView_manageGroup" runat="server" AllowPaging="True" AllowSorting="True" CssClass="table table-striped table-bordered table-hover" AutoGenerateColumns="False" DataKeyNames="GroupID" DataSourceID="SqlDataSource1"> 

Вы должны изменить <asp:SqlDataSource> теги к этому

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:myConnectionString %>" SelectCommand="SELECT * FROM [Groups]" DeleteCommand ="DELETE FROM Groups WHERE GroupID = @GroupID"> 
     <DeleteParameters> 
      <asp:Parameter Name="GroupID" Type="Int32" /> 
     </DeleteParameters> 
+0

Вы правы! Большое вам спасибо. Теперь мое gridview удаляет строку, когда я удаляю ее с помощью gridview – Swaggrammer

0

попробовать это:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:myConnectionString %>" SelectCommand="SELECT * FROM [Groups]" DeleteCommand ="DELETE FROM Groups WHERE GroupID = @GroupID"> 
     <DeleteParameters> 
      <asp:ControlParameter Name="GroupID" ControlId="DropDownListID" PropertyName="SelectedValue" /> 

     </DeleteParameters> 
+0

Неа он не работает .. :( – Swaggrammer

+0

, что произошла ошибка .. – pankeel

+0

сервера Ошибка в приложении «/». Ошибка выполнения Описание: Исключено при обработке вашего запроса. Кроме того, при выполнении пользовательской страницы ошибки для первого исключения произошло другое исключение. Запрос был прерван. – Swaggrammer

0

В ASPX

<asp:TemplateField HeaderText="Delete"> 
       <HeaderStyle HorizontalAlign="Center" /> 
       <ItemTemplate> 
        <asp:ImageButton ID="lnkDelete" runat="server" CssClass="grid-close" CausesValidation="False" 
         CommandName="Delete" ImageUrl="~/Images/DELETE.png" 
         CommandArgument='<%# Container.DataItemIndex %>' /> 
       </ItemTemplate> 
       <ItemStyle Width="75px" HorizontalAlign="Center" /> 
      </asp:TemplateField> 

В коде позади

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) 
{ 
    try 
     { 
      Label lblRequestID = (Label)GridView1.Rows[e.RowIndex].FindControl("lblRequestID"); 
      Delete(lblRequestID .Text); 
      FillGrid(); 

     } 

     catch (Exception ex) 
     { 
      Response.Write(ex.InnerException); 
     } 
    } 
Смежные вопросы