PDA

View Full Version : مشکل با datagridview



mohamadz5
دوشنبه 23 آذر 1388, 09:42 صبح
سلام
من دارم روی پروژه دانشگاهی کار میکنم.برنامه انبارداری
صفحه خرید کالا دارم که ممکنه توی یه فاکتور چند قلم کالا باشه. مشکل من اینه که نمیتونم اطلاعات چند کالا رو به ترتیب به gridview اضافه کنم.وقتی دکمه ثبت میزنم اطلاعات قبلی gridview پاک میشه که من میخوام به اطلاعات قبلی اضافه بشه کدش:



SqlConnection mycon = new SqlConnection();
mycon.ConnectionString = ctext;
SqlCommand add = mycon.CreateCommand();
add.CommandText = "update Product set storehousename=@sh,pnum=@pnum,pbp=@buyp,psp=@sellp ,pcomment=@comment,pdate='" + System.DateTime.Now + "' where pcode='" + textBox2.Text + "'";
num = num + Int32.Parse(textBox3.Text);
add.Parameters.Add("@pnum", num);
add.Parameters.Add("buyp", textBox4.Text);
add.Parameters.Add("@sellp", textBox5.Text);
add.Parameters.Add("@comment", textBox6.Text);
add.Parameters.Add("@sh", comboBox1.Text);
mycon.Open();
SqlDataReader dr = add.ExecuteReader();
mycon.Close();
DataSet objset1 = new DataSet();
SqlDataAdapter dataadapter = new SqlDataAdapter();
dataadapter.SelectCommand = new SqlCommand();
dataadapter.SelectCommand.Connection = mycon;
dataadapter.SelectCommand.CommandText = "select pname as نام_محصول,psp as قیمت,pcomment as توضیحات_اضافی,pdate as تاریخ from Product where pbp=@buyp and psp=@sellp and pdate='" + System.DateTime.Now + "' ";
dataadapter.SelectCommand.Parameters.Add("@pnum", textBox3.Text);
dataadapter.SelectCommand.Parameters.Add("buyp", textBox4.Text);
dataadapter.SelectCommand.Parameters.Add("@sellp", textBox5.Text);
dataadapter.SelectCommand.Parameters.Add("@comment", textBox6.Text);
dataadapter.FillSchema(objset1, SchemaType.Source, "employee1");
dataadapter.Fill(objset1, "employee1");
dataGridView1.AutoGenerateColumns = true;
dataGridView1.DataSource = objset1;
dataGridView1.DataMember = "employee1";

تشکر

slashslash2009
دوشنبه 23 آذر 1388, 10:10 صبح
شما اول باید کالاهاتونو به فاکتور اضافه کنید بعدشinsert کنید یعنی اول باید به گرید ویو اضافه کنید بعد از اینکه کالاهاتونو به گریر ویو اضافه کردین سطرهای گرید ویو رو insert کنید کدهای شما در کل مشکل فنی داره یعنی از الگوریتمتون درست نیست . باید یک کلید بزارید واسه اضافه کردن کالاها به فاکتور و بعد از اضافه کردن کلید دیگر یعنی ثبت که عمل insert رو انجام بده

Reza_Yarahmadi
دوشنبه 23 آذر 1388, 10:56 صبح
من کدتون رو نگاه نکردم ولی برای اینکه داده های جدید به گرید اضافه بشه کافیه DataSet رو بصورت سراسری تعریف کنید. فقط باید دقت کنید که مواقعی که قصد دارید اطلاعات جدیدی رو نمایش بدید باید جدولهای DataSet رو پاک کنید.

mohamadz5
دوشنبه 23 آذر 1388, 12:13 عصر
شما اول باید کالاهاتونو به فاکتور اضافه کنید بعدشinsert کنید یعنی اول باید به گرید ویو اضافه کنید بعد از اینکه کالاهاتونو به گریر ویو اضافه کردین سطرهای گرید ویو رو insert کنید کدهای شما در کل مشکل فنی داره یعنی از الگوریتمتون درست نیست . باید یک کلید بزارید واسه اضافه کردن کالاها به فاکتور و بعد از اضافه کردن کلید دیگر یعنی ثبت که عمل insert رو انجام بده

ممنون از دوستان
مشکل من با راهنمایی آقا رضا حل شد .حق با شماست الگوریتم من اشتباهه.
میشه بیشتر منو راهنمایی کنید چطور به datagridview کالاهارو اضافه کنم و بعد در دیتا بیس درج کنم. کدش چطور میشه؟

slashslash2009
دوشنبه 23 آذر 1388, 13:39 عصر
برای اضافه کردن به دیتاگرید :

dataGridViewX1.Rows.Add(comboBoxEx5.Text.Trim(), comboBoxEx6.Text.Trim(),

بعد از اینکه اضافه کردن به گرید ویو با یک کتد دیگه یا در کلید ثبت تعداد سطرهای دیتاگرید رو بدست بیار و در یک حلقه تکرار مثل for قرار بده و بعد یکی یکی سطرهارو insert کن :

for (int i = 0; i < dataGridViewX1.Rows.Count; i++)
{dataGridViewX1.Rows[i].Cells[0].Value