2010-04-21 43 views
2

我正在.NET中開發Windows窗體應用程序,我想將Gridview的選定行值插入到數據庫中。我的GridView的第一列是複選框,當用戶從gridview中選中一個或多個複選框時,我想將各行的值插入到數據庫中。如何在Grid中將Gridview的選定行值插入到數據庫中.net

在Web應用程序中,我使用GridView的DataKeyNames屬性完成了此操作。想知道如何在Windows窗體應用程序中執行此操作。我正在使用Visual Studio 2005.

回答

1

我回答的一個問題,這是非常接近你的問題,也許它可以幫助您:

How to add gridview rows to a datatable?

您選擇行回答:

for (int i = 0; i < grdList.Rows.Count; i++) 
    { 
     string key = grdList.DataKeys[i].Value.ToString(); 
     if (((CheckBox)grdList.Rows[i].FindControl("chkSelect")).Checked) 
      foreach (TargetObject obj in objects) 
       if (obj.Key == key) 
       { 
        //do something like below 
        flag = true; 
        break; 
       } 
    } 
+0

@masoud,thanx。但在這種情況下,OP使用SqlBulkCopy。我可以做到這一點,而不使用SqlBulkCopy。和OP插入所有行,我想只插入GriedView選定的行數據。 – MAS1 2010-04-21 07:40:12

+0

@ MAS1:是的,您可以更改選擇您喜歡的行的代碼。如果你不能使用SqlBulkCopy,你可以使用企業庫。 – 2010-04-21 07:55:23

+0

,只有我想知道,如何檢查,哪些複選框由用戶檢查。 – MAS1 2010-04-21 08:21:08

1

仍然不確定要查找什麼,但以下內容可能至少會有所幫助。

foreach(DataGridViewRow row in dataGridView1.Rows) 
{ 
    DataGridViewCheckBoxCell cell = (DataGridViewCheckBoxCell)row.Cells[0]; 
    if(cell.Value) 
    { 
     InsertRow(row); 
    } 
} 

該代碼假定第一列的類型爲DataGridViewCheckBoxCell。

凡從的InsertRow排失控的價值和使用這些值作爲SqlParameters到插入語句,然後在執行插入,如圖:

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executenonquery.aspx

假設你正在使用SQL Server ,否則你需要其他類。

+0

@ho,我能用這個解決我的問題? – MAS1 2010-04-21 07:29:55

+0

我想我的第一個答案是錯誤的,我現在修改它,希望有所幫助。 – 2010-04-21 08:02:31

+0

@ho,我沒有使用listView – MAS1 2010-04-21 08:40:54

相關問題