2012-09-21 4 views
0

나는 연구하는 데 오랜 시간을 보냈지만 행운이 없었다.LinkButton을 통해 ASP 그리드 뷰에서 행을 삭제

<asp:GridView runat="server" ID="TBDSPCGrid" 
        AutoGenerateColumns="false" 
        AllowPaging="true" 
        AllowSorting="false" 
        DataKeyNames="SPID,CategoryId,Category,RowNum, PurchaseDate, Title, Description,SFItemId" 
        OnRowDataBound="TBDSPC_RowDataBound" 
        OnRowCreated="TBDSPC_RowCreated" 
        OnRowCommand="TBDSPC_Command" 
        OnPageIndexChanging="TBDSPC_PageIndexChanging" 
        OnRowDeleting="TBDSPC_OnRowDeleting"> 
        <Columns> 
         <asp:TemplateField HeaderText="Timeouts" ItemStyle-Width="40px" ItemStyle-Wrap="false" 
          ItemStyle-CssClass="padding-right"> 
          <ItemTemplate> 
           <div class="targeted-icons"> 
            <asp:LinkButton runat="server" id="LinkButton1" CommandName="delete" CommandArgument='<%#Eval("SFItemId")%>' 
            ><img src="delete.png" /></asp:LinkButton> 
           </div> 
          </ItemTemplate> 
         </asp:TemplateField> 

그래서 여기서 어떻게해야합니까?

protected void TBDSPCGrid_OnRowDeleting(object  sender, GridViewDeleteEventArgs e) 
    { 
     // do something 
    } 

내가 이것을 시도했지만 작동하지 않습니다 ... 그것은 내가 제목을 편집 한

protected void TBDSPC_Command(object sender, GridViewCommandEventArgs e) 
    { 
     GridView gv = (GridView)sender; 
     switch (e.CommandName) 
     { 
      case "delete": 
       { 
        DataTable test = TargetedSpView.ToTable(); 
        test.Rows[0].Delete(); 
        test.AcceptChanges(); 
        TargetedSpView = test.DefaultView; 
        this.TBDSPCGrid.DataSource = this.TargetedSpView; 
        this.TBDSPCGrid.DataBind(); 
       } 
       break; 
} 
} 
+1

"개체의 인스턴스로 설정되지 않았습니다 객체 참조"나에게의 오류를 준 . "[제목에"태그 "가 포함되어 있어야합니까?] (http://meta.stackexchange.com/questions/19190/)"합의가 "아니오, 그렇지 않아야합니다"로 표시되어야합니다. –

+0

dere는 "ataTable test = TargetedSpView.ToTable();"입니다. – iJade

+0

오류가 발생하는 라인은 무엇입니까? – Agent007

답변

0
protected void TBDSPC_Command(object sender, GridViewCommandEventArgs e) 
{ 
    GridView gv = (GridView)sender; 
    switch (e.CommandName) 
    { 
     case "delete": 
      { 
        DataTable test = RetrieveData(0, 0); // this is a function I used to get a datatable 
        test.Rows[0].Delete(); 
        test.AcceptChanges(); 
        TargetedSpView = test.DefaultView; 
        TBDSPCGrid.DataSource = TargetedSpView; 
        TBDSPCGrid.DataBind(); 
      } 
      break; 
} 
} 
관련 문제