PDA

View Full Version : ذخیره و بازیابی جدول در xml



علی فتحی
پنج شنبه 22 مرداد 1394, 18:54 عصر
سلام برای ذخیره اطلاعات جدول در فایل متنی این کد رو پیدا کردم تست شده و دقیق کار میکنه

private DataTable GetDataTableFromDGV(DataGridView dataGridViewX1) {
var dt = new DataTable();
foreach (DataGridViewColumn column in dataGridViewX1.Columns)
{
if (column.Visible)
dt.Columns.Add();
}
object[] cellValues = new object[dataGridViewX1.Columns.Count];
foreach (DataGridViewRow row in dataGridViewX1.Rows)
{
for (int i = 0; i < row.Cells.Count; i++)
{
cellValues[i] = row.Cells[i].Value;
}
dt.Rows.Add(cellValues);
}


return dt;
}
private void buttonX4_Click(object sender, EventArgs e)
{
SaveFileDialog saveDialog = new SaveFileDialog();
saveDialog.Filter = "Xml files (*.xml)|*.xml";
saveDialog.InitialDirectory = "d:\\";
saveDialog.FileName = "XML File";
saveDialog.Title = "XML Export";
if (saveDialog.ShowDialog() == DialogResult.OK)
{

DataTable dt = GetDataTableFromDGV(dataGridViewX1);
dt.TableName = "Table1"; // table name is required
dt.WriteXml(saveDialog.FileName);
}
}

حالا برای بازیابی چ کار میشه کرد؟ یعنی اطلاعات قبلی جدول کلا پاک بشه بعد از اون اطلاعات فایل متنی xml دوباره اضافه بشه .
با تکنولوژی EF

arash_flag
پنج شنبه 22 مرداد 1394, 19:21 عصر
سلام دوست عزیز منظور شما اینه که اطلاعات یک گرید رو بریزیم توی یک فایل xml و دوباره برای ویرایش به عنوان مثال بریزیم توی تکس باکس ها و ویرایش کنیم ؟

اگه درست فهمیده باشم ، ابتدا باید شما یک فایل ایجاد کنید:
//برای نمایش اطلاعات

DataSet ds = new DataSet();

ds.ReadXml(@"E:\programing\C#_Test\write_xml\xml_dataset\xml_da taset\XMLFile1.xml");
dataGridView1.DataSource = ds.Tables[0];


//برای درج اطلاعات



DataSet ds = new DataSet();
ds.ReadXml(@"E:\programing\C#_Test\write_xml\xml_dataset\xml_da taset\XMLFile1.xml");
string[] info = {tid.Text, name.Text ,lname.Text ,great.Text };
ds.Tables[0].Rows.Add(info);
ds.WriteXml(@"E:\programing\C#_Test\write_xml\xml_dataset\xml_da taset\XMLFile1.xml");