2011-08-03 139 views
3

我們如何刪除數據視圖 行我目前使用如何刪除/從數據視圖中刪除行/列(不使用數據視圖刪除。)

DataView的DV =新的數據視圖();

//填充

DV.Delete(5);

但對於動態行,我們不知道在數據視圖 任何值的行索引就像我在數據視圖(行) ,我想所有的記錄接受一個值,讓X(任何值)有100個記錄 所以我如何刪除它從數據視圖或特定值

任何建議

回答

3

如果你想隱藏行,一個RowFilter可以解決你的問題。

編輯

如果你想從數據表使用刪除DataTable的Select方法,並刪除已發現數據行。

+0

艾爾諾謝謝你,但我不想隱瞞我只是想刪除的行 這可能嗎? – ertjain

+0

@ertjain,所以你想從DataSet中刪除它們? DataView只是一個'視圖'? –

+0

是的,先生正確 – ertjain

0

Asssuming myRow類型爲System.Data.DataRow,你可以這樣做:

int index = DV.Table.Rows.IndexOf(myRow); 
DV.Delete(index); 
0

您可以創建一個排序DataView

var dv = new DataView(dataTable, "id", null, DataViewRowState.CurrentRows);

,然後找到行索引

var index = dv.Find(id); if (index > -1) dv.Delete(index);

-1

試試這個:

protected void gridview1_RowDeleting(object sender, GridViewDeleteEventArgs e) 
{ 
    using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["myConnectionString"].ToString())) 
    { 
     // Create a command object. 
     SqlCommand cmd = new SqlCommand(); 

     // Assign the connection to the command. 
     cmd.Connection = conn; 

     // Set the command text 
     // SQL statement or the name of the stored procedure 
     cmd.CommandText = "DELETE FROM Products WHERE ProductID = @ProductID"; 

     // Set the command type 
     // CommandType.Text for ordinary SQL statements; 
     // CommandType.StoredProcedure for stored procedures. 
     cmd.CommandType = CommandType.Text; 

     // Get the PersonID of the selected row. 
     string strProductID = gridview1.Rows[e.RowIndex].Cells[0].Text; 

     // Append the parameter. 
     cmd.Parameters.Add("@ProductID", SqlDbType.BigInt).Value = strProductID; 

     // Open the connection and execute the command. 
     conn.Open(); 
     cmd.ExecuteNonQuery(); 
    } 

    // Rebind the GridView control to show data after deleting. 
    BindGridView(); 
} 
+0

歡迎來到[so]。除了代碼中的註釋之外,最好是如果答案提供了段落中代碼的簡短說明。更好的答案使人們更有可能向你提供讚揚,這會給你聲譽。有關更多信息,請參閱[答案]。 –

相關問題