Kopiera rader mellan GridViews - En enkel operation?

Man kan tro att det är världens enklaste sak att kopiera en rad från en GridView till en annan. Men den metoden många försöker med först resulterar ofta i "This row already belongs to another table". Här visar vi en enkel metod för att lösa problemet.

DataTable newtable = new DataTable();
DataTable temptable = new DataTable();
CheckBox cb;
BLL bll = new BLL();//Our Business Layer
foreach(GridViewRow row in GridView2.Rows)
{
if (row.RowType == DataControlRowType.DataRow)
{
cb = row.FindControl("CheckBox1") as CheckBox;
if (cb.Checked == true)
{
temptable.Clear();
temptable = bll.GetItem(Convert.ToInt32(row.Cells[0].Text));
newtable.ImportRow(temptable[0]);
}
}
}
GridView3.DataSource = newtable;
GridView3.DataBind();

Trixet är alltså att skapa en tabell med den raden man vill kopiera och sedan importera den till en ny tabell. Det gå inte att bara flytta över DataRowObjektet utan att få ett fel.

Denna koden kopierar alla rader som är "checked" från gridview2 till gridview3

cell[0] innehåller Id i gridview 2. (row.datakey skulle säkert funka lika bra)

Comments

Very nice operation for GridViews with great coding...

http://www.janbaskdigitaldesign.com

very nice coding and thanks to sharing information with us. http://www.onlinepromotionuae.ae

good coding and thanks for sharing with us...... Andaman Tour Packages

Nice post, If you are façade any problems with your Lenovo laptop then you just call Lenovo Help Number UK 0800-098-8371 toll free.

Hii, Thanks for the sharing nice posting with us. i’m really impressed. HP support number uk

this is outstanding and great post! i really like it. thank you so much.

Windows Phone Support

nice AVG Support

very nice post i like it.. window support number

Thanks for this awesome web page, i like it. Brother printer support

Hi, Thanks for the sharing nice posting with us.i’m really impressed.Take a look at my page. norton support number

Please fill out all the fields.

*
*