2013-08-22 66 views
0

我有一個下拉列表。在更改下拉列表的索引時,我填充了一個asp.net gridview。只在客戶端刪除單個網格視圖的行

我有一個要求,用戶應該能夠在屏幕上移除gridview的單個行。 在每一行的末尾,我打算有一個刪除按鈕。點擊按鈕後,該行應該消失。但是這隻應該在屏幕上。數據庫中不應該做任何更改。

下面我有,現在我的代碼:

ASPX

<table> 
     <tr> 
      <td> 
       <div> 
        <asp:Label ID="lblClient" runat="server" Text="Client :" CssClass="label" ForeColor="Black"></asp:Label> 
        <asp:DropDownList ID="ddlClient" runat="server" AppendDataBoundItems="true" AutoPostBack="true" OnSelectedIndexChanged="ddlClient_SelectedIndexChanged"> 
         <asp:ListItem Text="ALL" Value="0"></asp:ListItem> 
        </asp:DropDownList> 
       </div> 
      </td> 
     </tr> 
     <tr> 
     <td> 
     <asp:GridView ID="gvMainLog" runat="server" Visible="true" AllowSorting="True" AutoGenerateColumns="False"AllowPaging="true"> 
        <Columns> 
        <asp:BoundField DataField="Instruction" HeaderText="Instruction" /> 
        <asp:BoundField DataField="ProviderId" HeaderText="Id" /> 
        </Columns> 
        </asp:GridView> 
        <div> 
        <asp:TextBox ID="txtEditMin" runat="server"></asp:TextBox> 
        </div> 
     </td> 
     </tr> 
    </table> 

aspx.cs

protected void ddl_SelectedIndexChanged(object sender, EventArgs e) 
     { 
      gvMainLog.DataSource = GetSetupUtility(1); 
      gvMainLog.DataBind(); 

     } 

回答

0

在GridView添加刪除命令這樣

<Columns> 
    <asp:BoundField DataField="Instruction" HeaderText="Instruction" /> 
    <asp:BoundField DataField="ProviderId" HeaderText="Id" /> 
    <asp:TemplateField ShowHeader="False"> 
     <ItemTemplate> 
      <asp:Button ID="Button1" runat="server" CausesValidation="false" CommandName="Remove" 
      Text="Remove" CommandArgument='<%# Eval("id") %>' /> 
     </ItemTemplate> 
    </asp:TemplateField> 
</Columns> 

在t的行動中他刪除按鈕使用deleteRow方法即可

void gvMainLog_RowCommand(Object sender, GridViewCommandEventArgs e) 
{ 
    if(e.CommandName=="Remove") 
    { 
     var id = Int32.Parse(e.CommandArgument); 
     gvMainLog.DeleteRow(id); 
    } 
} 
+0

你好..我只是希望它從屏幕上消失。我不想從數據庫中刪除它... – CodeNinja

+0

@SqlSamurai DeleteRow刪除網格和數據集中的行,但不會在DABABASE上執行任何DELETE –

0

你需要財產以後這樣的:使用 中的TemplateField的GridView。

<script> 
function deleteRow(rowId) { 
    $("#" + rowId).remove(); 
} 
</script> 
<asp:GridView ID="GridView1" runat="server" EnableModelValidation="True"> 
<Columns> 
    <asp:TemplateField> 
     <ItemTemplate> 
      <div id='<%# "myRow" + Container.DataItemIndex %>'> contents <img src="deleteImageUrl" onclick='<%# "deleteRow(\"myRow" + Container.DataItemIndex+"\")" %>'/> </div> 
     </ItemTemplate> 
    </asp:TemplateField> 
</Columns> 
</asp:GridView>