[英]Copy all data from one gridview to another, but those from the first grid which are ticked
我在同一頁面上有兩個網格。 第一個網格包含數據並啟用了復選框。 單擊一個按鈕后,我只想將選中的數據復制到另一個網格。
我已經完成了–但是它僅將一個項目從第一個網格復制到第二個。 請幫忙。
我的代碼:
int RowNo = 0;
foreach (GridViewRow row in GridView1.Rows)
{
RowNo = RowNo + 1;
bool Checkbox = ((CheckBox)row.FindControl("CheckBox1")).Checked;
if (Checkbox = true)
{
SqlConnection myConn = new SqlConnection();
myConn.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\eRashshala.mdf;Integrated Security=True;User Instance=True";
myConn.Open();
GridViewRow Row = GridView1.Rows[RowNo - 1];
String Name = Row.Cells[2].Text;
SqlDataAdapter da = new SqlDataAdapter("Select LatinName,IngName,MaterialForm from IngredientInfo Where IngName='" + Name + "'", myConn);
DataSet ds = new DataSet();
da.Fill(ds, "IngredientInfo");
GridView2.DataSource = ds.Tables[0];
GridView2.DataBind();
}
}
在我看來,您似乎只對網格中的一行執行復制,這將解釋為什么只復制一件事。 您首先開始:
bool Checkbox = ((CheckBox)row.FindControl("CheckBox1")).Checked;
if (Checkbox = true)
{
// Perform copy...
}
但據我所知,第一行僅適用於當前的數據行。 大概以某種方式從網格獲取變量“行”。 您顯示的代碼是foreach
循環的一部分嗎?
如果沒有,那么我想您需要做的就是循環Grid中的所有行,並為每一行而不只是一行進行插入。 您可以(可能應該)將寫入操作分組到一個數據庫事務中,而不是多次寫入,但這是性能優化,並且不會影響功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.