PDA

View Full Version : راهنمایی در Gridview



nina_rahmani
پنج شنبه 21 شهریور 1392, 08:23 صبح
سلام دوستان

میشه گرید را توی یه حلقه گذاشت و هر بار یه سطر اون رو پر کرد ؟

IDRow = DGV5.Rows.Count;
for (int i = 0; i < IDRow; i++)
{
data.Type_Doc = DGV5.Rows[i].Cells[0].Value.ToString();
data.Num_Doc = DGV5.Rows[i].Cells[1].Value.ToString();
data.Date_Doc = DGV5.Rows[i].Cells[2].Value.ToString();
data.Code_Anbar = DGV5.Rows[i].Cells[3].Value.ToString();
data.Code_Station = DGV5.Rows[i].Cells[4].Value.ToString();
data.Iran_Code = DGV5.Rows[i].Cells[5].Value.ToString();
data.Vahed_Sanjesh = DGV5.Rows[i].Cells[6].Value.ToString();
data.Name_Moshtari = DGV5.Rows[i].Cells[7].Value.ToString();
data.Count = DGV5.Rows[i].Cells[8].Value.ToString();
dataGridView1[i, dataGridView1.CurrentRow.Index].Value= data.Rpt_Packinglist();
}


همچین کدی نوشتم ولی وقتی میخواد گرید را پر کنه خطا میده.

در واقع من 2تا گرید تو برنامه ام دارم میخوام اطلاعات هر سطر گرید بالایی را بگیرم و بریزم تو متغیر و در گرید پایینی اون اطلاعات رو که تو متغیر ریختم را ، ورودی یک پروسیجر بگذارم و خروجی پروسیجر را در گرید پایینی نمایش دهم.

لطفا راهنمایی کنید...

ممنون.

amir200h
پنج شنبه 21 شهریور 1392, 09:34 صبح
شما باید مقادیر گرید بالایی رو هر سطر رو که میخواین انتقال بدین بصورت آرایه در بیارین و با متد add اونو بریزین داخل گرید پایینی

صباح فتحی
پنج شنبه 21 شهریور 1392, 10:28 صبح
خطاش چیه خب

nina_rahmani
پنج شنبه 21 شهریور 1392, 21:40 عصر
خطاش اینجاست که میگه object refrence اشتباه یا اینکه فقط 1 سطر را پر میکنه و سط بعدی را خالی و ...

nina_rahmani
پنج شنبه 21 شهریور 1392, 21:42 عصر
شما باید مقادیر گرید بالایی رو هر سطر رو که میخواین انتقال بدین بصورت آرایه در بیارین و با متد add اونو بریزین داخل گرید پایینی

میشه در مورد ارایه بیشتر توضیح بدید؟

ممنون میشم

amir200h
پنج شنبه 21 شهریور 1392, 21:55 عصر
میشه در مورد ارایه بیشتر توضیح بدید؟

ممنون میشم

string[] row =
{txtName.text,txtfamily,text
};
dataGridView1.Rows.Add(row);

nina_rahmani
پنج شنبه 21 شهریور 1392, 22:30 عصر
string[] row =
{txtName.text,txtfamily,text
};
dataGridView1.Rows.Add(row);

میدونید تو برنامه من 2تا گرید وجود داره گرید بالایی یه سری کد توش هست حالا میخوام این کدها را ببرم تو یه sp که ساختم و اسم های معادلشون را در گرید پایین بیارم

کدی که نوشتم فقط یه سطر رو اینجوری میکنه

110543


if (St == 3)
{
MessageBox.Show("لطفاً ابتدا فایل پکینگ را انتخاب کنید");
}
else
{
StreamReader sr = new StreamReader(txtfile.Text);
string allchar = sr.ReadToEnd();
sr.Close();
BLL.CL_Paking data = new BLL.CL_Paking();
string[] records = allchar.Split('\n');
for (int i = 0; i < records.Length; i++)
{
string[] field = records[i].Split(',');
data.Type_Doc = field[0];
data.Num_Doc = field[1];
data.Date_Doc = field[2];
data.Code_Anbar = field[3];
data.Code_Station = field[4];
data.Iran_Code = field[5];
//payan tashkis
data.Count = int.Parse(field[6]);
data.Vahed_Sanjesh = field[7];
data.Name_Moshtari = field[8];
dataGridView1.DataSource = data.Rpt_Packinglist();

dt_factorItems.Rows.Add(data.Type_Doc, data.Num_Doc, data.Date_Doc, data.Code_Anbar, data.Code_Station, data.Iran_Code, data.Count, data.Vahed_Sanjesh, data.Name_Moshtari);

}
data.Sabt_Packinglist();
MessageBox.Show("با موفقیت ثبت شد");

omidamiry
جمعه 22 شهریور 1392, 08:19 صبح
توجه داشته باشید خطلای رفرنس وجود نداشتن اطلاعات یا سطر یا ستون است

دستورات شما درسته فقط به خالی اشاره میکنه یعنی گرید 1 سطر داره شما بیشتر از یک سطر انجام میدید

nina_rahmani
جمعه 22 شهریور 1392, 17:53 عصر
توجه داشته باشید خطلای رفرنس وجود نداشتن اطلاعات یا سطر یا ستون است

دستورات شما درسته فقط به خالی اشاره میکنه یعنی گرید 1 سطر داره شما بیشتر از یک سطر انجام میدید

دوست عزیز
خطای برنامه من تو dataGridView1.DataSource = data.Rpt_Packinglist(); این خط هست چون با این دستور برای هر بار که حلقه ایجاد میشه ، میره و اطلاعات جدید را روی قبلی ها overwrite میکنه
میخوام بدونم میشه به جای این خط چیزه دیگه ای نوشت؟

omidamiry
سه شنبه 26 شهریور 1392, 09:11 صبح
دوست محترم برای پر کردن گرید چند راه وجود دارد و نمیتوان از چند راه همزمان استفاده کرد

شما راه اولتون یعنی اولین مطلب این پست درسته از دیتا سورس استفاده نکنین