簡體   English   中英

從.net gridview中刪除

[英]Deleting from .net gridview

我希望以編程方式從GridView刪除。

我已經實現了gridview的OnRowDeleting="Delete_Record"事件處理程序,當用戶單擊GridView上的刪除鏈接時調用它,但由於似乎沒有選擇行,執行刪除的代碼不起作用。

為了進一步測試我可以單擊選擇,選擇行(注釋掉選擇后面的代碼)然后如果我單擊刪除代碼運行正常。

有沒有辦法將行選中作為Delete_Record

GridViewRow row = gvResults.SelectedRow;
string id = row.Cells[1].Text;

ASB_DataDataContext db = new ASB_DataDataContext();
var delCase = from dc in db.Inputts
              where dc.counter == Convert.ToInt32(id)
              select dc;

foreach (var nCase in delCase)
{
    db.Inputts.DeleteOnSubmit(nCase);
    db.SubmitChanges();
}

由於您正在使用該事件,因此您應該將所需的索引作為GridViewDeleteEventArgs e一部分,這應該像e.RowIndex

然后,您可以訪問所需的參數grid.Rows[e.RowIndex].Cells[1].Text

您可以通過下面顯示的代碼實現

public void GridView1_Delete_Record (Object sender, GridViewDeleteEventArgs e)
{
    string id = gridView1.Rows[e.RowIndex].Cells[2].Text;

    ASB_DataDataContext db = new ASB_DataDataContext();
    var delCase = from dc in db.Inputts
              where dc.counter == Convert.ToInt32(id)
              select dc;

    foreach (var nCase in delCase)
    {
       db.Inputts.DeleteOnSubmit(nCase);
       db.SubmitChanges();
    }  Message.Text = "";
}  

db.Inputts設置為datagrid的DataSource。 只需在代碼后添加下兩行:

datagridView1.DataSource = null;
datagridView1.DataSource = db.Inputts;

將datasource設置為null用於清除datagrid中的先前數據;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM