PDA

View Full Version : مشکل در ثبت datagrid



azar_1230
یک شنبه 02 فروردین 1394, 09:05 صبح
سلام دوستان من یک دیتا گرید ویو گذاشتم میخواستم لیست را در فایل xml ذخیره کنم
و با حلقه for می نویسم نمیتونم کاملشکنم
عکس برنامه
129634


فایل برنامه

Mahmoud Zaad
یک شنبه 02 فروردین 1394, 10:29 صبح
سلام
این لینک (http://www.authorcode.com/how-to-write-xml-from-datagridview-in-c/) رو نگاه کنید.

-------------ویرایش
لینک اصلاح شد.

azar_1230
یک شنبه 02 فروردین 1394, 10:50 صبح
دوست عزیز نگاه کردم ازبابت لینک ممنون ولی ..
بنده اطلاعاتی در دیتا گرید ویو دارم میخوام اطلاعات ام را در به صورت ذخیره کنم در خط 8 خطا میده ، راهنمایی بفرمایید


try
{
int count = dataGridView1.Columns.Count;
//count the gridview column
for (int i = 0; i < count; i++)
{
//new row properties
string Name = dataGridView1.Rows[i].Cells[0].ToString();
string Family = "2";
string F_Name = "2";
string ID_NO = "2";
string B_Date = "2";
string sex = "1";
string Is_Place = "2";
string Tabe = "2";
string job = "1";
string reason = "6";
string no_with = "2";
string target = "2";
string source = "2";
string In_Date = "2";
string In_Time = "09:05";
string Num_Room = "256";
string psg_code = "47";
string N_Code = "2";
string FolioNo = "34";




XDocument document = XDocument.Load(Application.StartupPath + @"\1.xml");
XNamespace elementNamespace = "urn:schemas-microsoft-com:rowset";
XNamespace zNameSpace = "#RowsetSchema";


XElement rootElement = document.Descendants(elementNamespace + "data").FirstOrDefault();
XElement newElement = new XElement(zNameSpace + "row", new XAttribute("Name", Name),
new XAttribute("Family", Family),
new XAttribute("F_Name", F_Name),
new XAttribute("B_Date", B_Date),
new XAttribute("ID_NO", ID_NO),
new XAttribute("sex", sex),
new XAttribute("Is_Place", Is_Place),
new XAttribute("Tabe", Tabe),
new XAttribute("job", job),
new XAttribute("reason", reason),
new XAttribute("no_with", no_with),
new XAttribute("target", target),
new XAttribute("source", source),
new XAttribute("In_Date", In_Date),
new XAttribute("In_Time", In_Time),
new XAttribute("Num_Room", Num_Room),
new XAttribute("psg_code", psg_code),
new XAttribute("N_Code", N_Code),
new XAttribute("FolioNo", FolioNo));


rootElement.Add(newElement);
document.Save(Application.StartupPath + @"\12.xml");
}
}


catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}

Mahmoud Zaad
یک شنبه 02 فروردین 1394, 11:09 صبح
از لینک جدیدی که گذاشتم استفاده کنید. (قبلی ویرایش شد)
در اون خط قرمز رنگ هم یه Value کم نوشتید:
string Name = dataGridView1.Rows[i].Cells[0].Value.ToString();

ضمنا توی سایت، برای اینکه کدهاتون خوانا باشه از تگ c# توی ادیتور استفاده کنید.

azar_1230
یک شنبه 02 فروردین 1394, 11:14 صبح
دوست عزیز عکس اش برایت ارسال کردم این خطا را میگیره سورس اش بالا موجود راهنمایی کنید
129637

Mahmoud Zaad
یک شنبه 02 فروردین 1394, 16:07 عصر
من سورس شما رو نگاه نکردم ولی آیا اصراری هست که از اون روش استفاده کنید؟ اگه نه که به روش زیر عمل کنید:

//ساخت دیتاتیبل
DataTable dt = new DataTable("dt");

//ساخت ستون های دیتاتیبل
foreach (DataGridViewColumn dc in dataGridView1.Columns)
{
dt.Columns.Add(dc.Name);
}

//افزودن ردیفهای دیتاگریدویو به دیتاتیبل
DataRow row = null;
foreach (DataGridViewRow dr in dataGridView1.Rows)
{
row = dt.NewRow();

foreach (DataGridViewColumn dc in dataGridView1.Columns)
{
row[dc.Name] = dr.Cells[dc.Name].Value;
}
dt.Rows.Add(row);
}

//ذخیره در ایکس ام ال
XmlTextWriter xml = new XmlTextWriter("E:\\myXml.xml", Encoding.UTF8);
dt.WriteXml(xml);

azar_1230
یک شنبه 02 فروردین 1394, 17:07 عصر
آره دادشی اطلاعات مهمان باید طبق گفته اداره اماکن این طور باشد

تا در هنگام بارگذاری اطلاعات بر روی اداره اماکن مشکلی پیش نیاید

حال اول اطلاعات که مهمان داخل هتل یاتسویه کرده اند لیست از آن ها با ید در دیتا گرید ویو آورده شود و بعد طبق سورس بالا خروجی قسمت پایین rs:date اضافه شود دوست عزیز شما حالا ...بنده حقیر با حالا با دستورات for نتونستم بنویسم شما زحمت این کار را برایم میتوانید انجام دهید؟
منظرجوابتان هستم .........

Mahmoud Zaad
یک شنبه 02 فروردین 1394, 17:16 عصر
تو سورس شما در خط زیر که 1- هست به جاش بنویسید 2- :

for (int i = 0; i <= dataGridView1.Rows.Count-2; i++)

azar_1230
یک شنبه 02 فروردین 1394, 20:10 عصر
اونم آخرین رکورد چاپ میکنه !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

azar_1230
دوشنبه 03 فروردین 1394, 10:20 صبح
کسی دوست نداره کار مارا راه بنداز؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

maryam145
یک شنبه 16 فروردین 1394, 14:56 عصر
سلام خسته نباشین دوستان منم تقریبا ی همچین مشکلی رو تو سی شارپ دارم میخوام اطلاعات سطرهایی از دیتا گریویو م و ک ستون هاش تیک خوردن بریزم تو ی تیبل و ذخیره کنم ولی نمیدونم چ جوری؟؟اینم کدهایی که نوشتم

List<DataGridViewRow> selected = new List<DataGridViewRow>();
for (int i = 0; i < dataGridView1.Rows.Count; i++)


(if (dataGridView1.Rows[i].Cells[3].Value == null ? false : (bool)dataGridView1.Rows[i].Cells[3].Value
}
([selected.Add(dataGridView1.Rows[i]
( foreach (DataGridViewRow pp in selected
;(listBox1.Items.Add(pp

maryam145
یک شنبه 16 فروردین 1394, 15:30 عصر
سلام خسته نباشین منم تقریباً همین مشکل و تو سی شارپ دارم می خوام اطلاعات سطرهایی از دیتاگریدویو که تیک خوردن و به ی جدول انتقال بدم یا در واقع میشه گفت ذخیره کنم
(ی ستون از دیتاگریدویوم از نوع چک باس هست و می خوام فقط سطرهایی که تیک دارن اطلاعاتشون و برام تو ی جایی مثل جدول ذخیره کنه )