2017-11-01 22 views
0

드롭 다운 (id = drpClass)에서 선택된 값이있을 때 데이터를로드하는 GridView가 있습니다. 이 그리드보기 내부에는 편집 및 삭제 버튼이 있습니다. 그러나 삭제 버튼을 클릭하면 항목이 데이터베이스에서 삭제되었지만 그리드보기가 새로 고쳐지지 않습니다. 내가 성공적으로GridView가 updatepanal 내부에서 새로 고침되지 않음

영문

<asp:UpdatePanel ID="UpdatePanel7" runat="server"> 
<Triggers> 
<asp:AsyncPostBackTrigger ControlID="drpClass" /> 
</Triggers> 
<ContentTemplate> 
<p style="margin: 0 0 5px 0;"><b>Details</b></p> 
<asp:GridView ID="GridView1" DataKeyNames="DCU_IdNo" class="table table-striped table-bordered " 
ShowFooter="True" EmptyDataText="No Data Found" runat="server" ShowHeaderWhenEmpty="True"> 
<Columns> 
    <asp:TemplateField HeaderText="Sl" HeaderStyle-Width="10px"> 
     <ItemTemplate> 
      <asp:Label ID="lblCode" Text='<%# Container.DisplayIndex+1%>' runat="server"></asp:Label> 
     </ItemTemplate> 
    </asp:TemplateField> 
    <asp:TemplateField HeaderText="Title" HeaderStyle-Width="1500px"> 
     <ItemTemplate> 
      <asp:Label ID="title" 
       Text='<%# Eval("DCU_Title")%>' runat="server"></asp:Label> 
     </ItemTemplate> 
    </asp:TemplateField> 
    <asp:TemplateField HeaderText="Attachment"> 
     <ItemTemplate> 
      <%# DataBinder.Eval(Container, "DataItem.DCU_FilePath")%> 
     </ItemTemplate> 
    </asp:TemplateField> 
    <asp:TemplateField HeaderText="Edit" HeaderStyle-Width="1px"> 
     <ItemTemplate> 
      <asp:LinkButton ID="btnEdit" OnClick="btnEdit_Click" runat="server"> 
<span aria-hidden="true" class="glyphicon glyphicon-edit"></span></asp:LinkButton> 
     </ItemTemplate> 
    </asp:TemplateField> 
    <asp:TemplateField HeaderText="Delete" HeaderStyle-Width="100px"> 
     <ItemTemplate> 
      <asp:LinkButton ID="btnDelete" OnClick="btnDelete_Click" 
       OnClientClick="if (!confirm('Are you sure you want delete?')) return false;" 
       runat="server"> <span class="glyphicon 
glyphicon-trash"></span></asp:LinkButton> 
     </ItemTemplate> 
    </asp:TemplateField> 
</Columns> 
</asp:GridView> 
</ContentTemplate> 
</asp:UpdatePanel> 

의 GridView로드 고사를 페이지를 새로 고치면

protected void btnDelete_Click(object sender, EventArgs e) 
    { 
     int rowIndex = ((sender as LinkButton).NamingContainer as GridViewRow).RowIndex; 
     int id = Convert.ToInt32(grdUploads.DataKeys[rowIndex].Values[0]); 
     SqlDataAdapter sda = new SqlDataAdapter("select DCU_FilePath from OP_DownloadsUploads where DCU_IdNo='" + id + "'", con); 
     DataTable datatable = new DataTable(); 
     sda.Fill(datatable); 
     if (datatable.Rows.Count > 0) 
     { 
      string path = Server.MapPath(datatable.Rows[0][0].ToString()); 
      FileInfo file = new FileInfo(path); 
      if (file.Exists)//check file exsit or not 
      { 
       file.Delete(); 
      } 
      SqlDataAdapter sda1 = new SqlDataAdapter("delete from OP_DownloadsUploads where DCU_IdNo='" + id + "'", con); 
      DataTable datatable1 = new DataTable(); 
      sda1.Fill(datatable1); 
      Response.Write("<script>alert('Deleted Sucessfully')</script>"); 
      LoadGrid(); 

     } 
    } 

그래서 내 요구 사항은 새로운 항목을 격자를 취소

답변

1

시도를의 GridView를 새로 고침하고로드하는 것입니다 그런 다음 다시로드하십시오.

+0

저에게 감사드립니다. – Jks

0

소스 데이터의 PropertyChanged 이벤트를 발생시킬 수 있습니다. 그렇지 않으면 GridView는 변경 사항을 인식 할 수 없습니다.