سوال : ذخیره سازی اطلاعات یک data grid در XML سی شارپ

#C

توسط thearrow در 7 سال پیش
0 28.9k 1 7 سال پیش
thearrow alideveloper
0

سلام اول عذر میخوام که باز همچین تاپیکی باز کردم

جناب MeeGo در تاپیک زیر آموزش رو گفتن اما آموزششون با کدنویسیه Column ها هستش

http://www.softafzar.net/f5/%D8%B3%D9%88%D8%A7%D9%84-%D8%B0%D8%AE%DB%8C%D8%B1%D9%87-%D8%B3%D8%A7%D8%B2%DB%8C-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%DB%8C%DA%A9-data-grid-%D8%AF%D8%B1-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE-954/

اگه وقتی ما Data grid رو در فرممون اد میکنیم ، همون موقع هم Columns رو اد کنیم و دیگه نخوایم با کدنویسی تعریف کنیم ، کد جناب MeeGo رو من به این شکل در آوردم :

[CSHARP]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication13
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
DataTable table1 = new DataTable();
private void button2_Click(object sender, EventArgs e)
{
table1.WriteXml("MeeGo.db", XmlWriteMode.IgnoreSchema);
}

    private void button3_Click(object sender, EventArgs e)
    {
        try
        {
            table1.ReadXml("MeeGo.db");
            dataGridView1.DataSource = table1;
        }
        catch { }
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        dataGridView1.DataSource = table1;
        table1.Columns.Add("Questions1", typeof(int));
        table1.Columns.Add("Answers1", typeof(string));
        table1.TableName = "pashmak";
        try
        {
            table1.ReadXml("MeeGo.db");
            dataGridView1.DataSource = table1;
        }
        catch { }
    }

}

}

[/CSHARP]

نه این و نه کد جناب MeeGo تا اینجا جز همون یک مشکل ، چیز دیگه ای نداره .
حالا فرض کنید که ما توی خط اول هر دو ، دو کلمه نوشتم بعد اون ها رو ذخیره و برنامه رو Exit کردم ، اگه الان من بخوام برنامه رو بزا کنم ، اگه بخوام اون دوتا رو ویرایش کنم ، ارور میده و تا وقتی که کامل اون رو پاک نکنم و Enter نزنم و بعد از اول پپُر کنم ، ارور میده :

خب حالا اگه ما نخوایم با استفاده از کدنویسیِ Column ها اون ها رو اد نکنیم ( یعنی بخوایم که خودمون دستی موقعه ی اد کردن دیتاگرید ، Column هم بهش اضافه کنیم) ، اون ها رو ذخیره کنیم، کد بالا به چه چیزی تبدیل میشه ؟
یا اگه بخوایم که این ارور رو رفع کنیم ، چیکار باید کنیم؟

ممنون

0

table1.Columns.Add("Questions1", typeof(int));
رو تغییر بده به
table.Columns.Add("Foo", typeof(string))

خطا بخاطر اینه که نوع ورودی int گرفته شده متن خطا هم همینو میگه

خوش آمدید

برای طرح سوال، ایجاد بحث و فعالیت در سایت نیاز است ابتدا وارد حساب کاربری خود شوید. در صورتی که هنوز عضو سایت نیستید میتوانید در عرض تنها چند ثانیه ثبت نام کنید.