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

بازدید29.1kپست ها1آخرین فعالیت10 سال پیش
0
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 گرفته شده متن خطا هم همینو میگه

سوال برنامه نویسی دارید؟

ندونستن عیب نیست، نپرسیدن چرا!

خوش آمدید

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