• سیو دیتاگرید با Xml
    #1
    Note 
    سلام من یه دیتا گرید دارم کد زیر رو هم براش تعیین کردم اما نه سیو میکنه نه لودش میکنه
    مشکلش کجاس؟
    مبتدیم:ninja:        

    کد:
    DataTable table = CreateEmptyTable();

           static DataTable CreateEmptyTable()
           {
               DataTable table = new DataTable();
               table.Columns.Add("Questions", typeof(string));
               table.Columns.Add("Answers", typeof(string));
               table.TableName = "Table";
               return table;
           }
           private void  Form1_Load(object sender, EventArgs e)
           {
               // Load DataTable
               table = CreateEmptyTable();
               dataGridView1.DataSource = table;

               // Load DataGridView
               try
               {
                   table.ReadXml("r.db");
                   dataGridView1.DataSource = table;
               }
               catch { }

           }

           private void Form1_FormClosing(object sender, FormClosingEventArgs e)
           {
               // Save DataGridView
               try
               {

                  table.WriteXml("r.db", XmlWriteMode.IgnoreSchema);
               }
               catch { }

    آخرین ویرایش: 14-10-2014 ساعت 19:15، توسط SOFTAFZAR
    پاسخ
    #2
    Note 
    سلام
    داداش کدت مشکلی نداره کار میکنه
    هیچوقت catch رو خالی نذار چون اینطوری اگر خطایی بوجود بیاد نمایش داده نمیشه اگر باز دیدی نمیشه try و catch رو پاک کن امتحان کن اگر خطا داد متنش رو بذار اینجا.
    Daniel

    پاسخ
    #3
    Note 
    سلام
    پروژه پیوست شد
    پسوورد :

    پاسخ
    #4
    Note 
    pashmak نوشته است:سلام
    پروژه پیوست شد
    پسوورد :
    سلام.ممنون از جواباتون.اين پروژه اي كه شما گذاشتين سيو ميكنه اما لود نميكنه.خيلي عالي بود.اگه ميشه اين قسمتشم درست كنيد

    پاسخ
    #5
    Note 
    alireza_kaka همونطور که علیرضای عزیز(daniel) گفت کدی که گذاشتی مشکل نداره منم تست کردم جواب داد.
    جواب شما اینجاست:

    چطور امضا کنم؟  Huh
    پاسخ
    #6
    Note 
    THE KNIGHT نوشته است:alireza_kaka همونطور که علیرضای عزیز(daniel) گفت کدی که گذاشتی مشکل نداره منم تست کردم جواب داد.
    جواب شما اینجاست:
    ممنون متوجه شدم.اما واسم جواب نداد.عوضش جناب pashmak يه پروژه گذاشتن كه كارآمدتر ميشه قسمت لودش رو نگاه كنيد ببينيد مشكلش كجاست.سيو ميكنه اما لودش نميكنه.متشكرم

    پاسخ
    #7
    Note 
    درودی دوباره
    کد درست هستش ، فقط من یک چیزیو فراموش کردم که اگه به کد ذخیره نگاهی میکردی میفهمیدی چیه که من یادم رفته بنویسمش!

    من یادم رفته بود که Pashmak.XmlDoc رو درست تعریف کنم !
    [CSHARP]
    Pashmak.XmlDoc = new XmlDocument();
    [/CSHARP]
    یعنی اینجا :


    [CSHARP]
    StreamReader loaddb = new StreamReader(od.FileName);
    string data = loaddb.ReadToEnd();
    loaddb.Close();
    try
    {
    Pashmak.XmlDoc.LoadXml(data);
    }
    catch
    {
    return;
    }
    [/CSHARP]

    باید این شکلی بشه

    [CSHARP]
    StreamReader loaddb = new StreamReader(od.FileName);
    string data = loaddb.ReadToEnd();
    loaddb.Close();
    Pashmak.XmlDoc = new XmlDocument();
    try
    {
    Pashmak.XmlDoc.LoadXml(data);
    }
    catch
    {
    return;
    }
    [/CSHARP]

    موفق باشی

    پاسخ
    #8
    Note 
    خيلي ممنون Pashmak جان حل شد

    پاسخ
    #9
    Note 
    ميشه واسه ديتا گريد تك ستونه هم كدش رو بزاريد؟

    پاسخ
    #10
    Note 
    دوست عزیز شما میتوانید با کم و زیاد کردن Column ها مثله آب خوردن اونها رو ذخیره یا بازیابی کنید!
    مثال
    اگه شما این کد رو :
    [CSHARP]
    XmlElement XCLM1 = Pashmak.XmlDoc.CreateElement("Column1");
    XmlElement XCLM2 = Pashmak.XmlDoc.CreateElement("Column2");
    XCLM1.InnerText = dataGridView1.Rows[i].Cells[0].Value.ToString();
    XCLM2.InnerText = dataGridView1.Rows[i].Cells[1].Value.ToString();
    [/CSHARP]
    به :
    [CSHARP]
    XmlElement XCLM1 = Pashmak.XmlDoc.CreateElement("Column1");
    XCLM1.InnerText = dataGridView1.Rows[i].Cells[0].Value.ToString();
    [/CSHARP]
    تغییر بدهید ، آیا سخت میباشد؟
    یا برای بازیابی :
    [CSHARP]
    for (int t = 0; t < ItemsList[j].ChildNodes.Count; t++)
    {
    if (ItemsList[j].ChildNodes[t].Name == "Column1")
    A = ItemsList[j].ChildNodes[t].InnerText;
    else if (ItemsList[j].ChildNodes[t].Name == "Column2")
    B = ItemsList[j].ChildNodes[t].InnerText;
    }
    [/CSHARP]
    به
    [CSHARP]
    for (int t = 0; t < ItemsList[j].ChildNodes.Count; t++)
    {
    if (ItemsList[j].ChildNodes[t].Name == "Column1")
    A = ItemsList[j].ChildNodes[t].InnerText;
    }
    [/CSHARP]
    تغییر دهید !
    همین

    پاسخ
    ایجاد موضوع جدید   پاسخ به موضوع  

    موضوعات مرتبط با این موضوع...
    موضوع نویسنده پاسخ بازدید آخرین ارسال
    Note دیتابیس SQLite در سی شارپ The Arrow 3 3,381 07-11-2014 ساعت 22:40
    آخرین ارسال: VBProgrammer
    Note لود نشدن دیتابیس در سیستم مقصد hamid685 2 650 17-03-2014 ساعت 11:41
    آخرین ارسال: hamid685
    Note بازیابی اطلاعات از دیتابیس غلامحسین 1 598 13-02-2014 ساعت 17:26
    آخرین ارسال: Stack OverFlow
    Note مشکل در ایجاد و بارگذاری دیتابیس اکسس در سی شارپ The Arrow 8 2,154 10-02-2014 ساعت 17:03
    آخرین ارسال: hamid685
    Note سوال در مورد ذخیره ی تکست باکس در دیتابیس در سی شارپ The Arrow 1 1,063 23-08-2013 ساعت 16:39
    آخرین ارسال: ScarFace
    Note سوالاتی در مورد دیتابیس در سی شارپ The Arrow 3 976 07-08-2013 ساعت 15:55
    آخرین ارسال: Daniel
    Note سوال : ذخیره و بازیابی کلیه اطلاعات در دیتابیس سی شارپ The Arrow 1 973 24-04-2013 ساعت 09:06
    آخرین ارسال: Daniel
    Note کار با دیتابیس در سی شارپ SOFTAFZAR 0 622 08-02-2013 ساعت 22:21
    آخرین ارسال: SOFTAFZAR
    Note سی شارپ-ذخیره عکس در دیتابیس SOFTAFZAR 0 973 28-01-2013 ساعت 12:39
    آخرین ارسال: SOFTAFZAR
    Note نمایش اطلاعات دیتابیس در DataGrid - سی شارپ SOFTAFZAR 0 924 05-12-2012 ساعت 22:39
    آخرین ارسال: SOFTAFZAR

    کاربرانِ درحال بازدید از این موضوع:   1 مهمان