ในการส่ง Data ระหว่าง Gridview 2 ระบบโดยเฉพาะ ระบบใหม่มักจะเป็น REST เพื่อความง่าย จะส่ง ผ่านกันทาง Json Format ที่เป็น String และมี {}
ในการส่าง Data ของ Gridview จะส่งโดยตรงไม่ได้ ต้องส่งทาง Datasource เช่นใน Window Form ต้องส่งเป็น Datatable แทน
DataTable dt = new DataTable();
foreach (DataGridViewColumn col in dgvReport.Columns)
{
dt.Columns.Add(col.Name);
}
foreach (DataGridViewRow row in dgvReport.Rows)
{
DataRow dRow = dt.NewRow();
foreach (DataGridViewCell cell in row.Cells)
{
dRow[cell.ColumnIndex] = cell.Value;
}
dt.Rows.Add(dRow);
}
var js = Newtonsoft.Json.JsonConvert.SerializeObject(dt);
// MessageBox.Show(js.ToString());
File.WriteAllText("c:/temp/v.json",js.ToString());
สำหรับใน Web form ก็จะรับได้ ในแบบ เดียวกัน แต่ต้องมี Option ในการ convert ว่าเป็น Datatable เหมือนกัน
string myDynamicJSON = File.ReadAllText("c:/temp/v.json");
//Using dynamic keyword with JsonConvert.DeserializeObject, here you need to import Newtonsoft.Json
dynamic myObject = (DataTable)JsonConvert.DeserializeObject(myDynamicJSON, typeof(DataTable));
//Binding gridview from dynamic object
GridView1.DataSource = myObject;
GridView1.DataBind();