PDA

View Full Version : سوال: نحوه انتقال داده های یک گریدویو به گریدویو دیگر



cisco ++
پنج شنبه 07 شهریور 1392, 09:10 صبح
سلام دوستان
من درمورد نحوه انتقال اطلاعات یک گریدویو به گریدویو دوم در یک فرم دیگه به مشکل برخورده ام.
قابل توجه که تاپیک های زیر رو مطالعه کرده ام :
http://barnamenevis.org/showthread.p...8C%DA%AF%D8%B1
و
http://barnamenevis.org/showthread.p...8C%DA%AF%D8%B1
ولی کمی شرایطم پیچیده است :
در فرم اولم دیتاگریدویو با اتصال به بانک اطلاعاتی و جدول دارو ها ، با 3 تا فیلد :شماره ردیف - نام دارو - قیمت پر میشه
من میخوام کاربر برای اینکه بتونه به تعداد مورد نیاز دارو انتخاب کنه ، یه گریدویو دیگه ظاهر بشه که یکی از ستون هاش button باشه (تعداد دارو رو با کلیلک روی اون دکمه مشخص بشه) و دو ستون دیگه هم مربوط به اطلاعات وارد شده از گریدویو اولیه باشه که طرف روی سطری از اون کلیک کرده.
با این کار میخوام وقتی انتخاب های کاربر تموم شد ، بر اساس تعداد داروی اتخاب شده و قیمت هاشون جمع زده بشه و جمع کل پرداختی + نام دارو ها + تعداد کل رو بفرستم برای چاپ که بشه فاکتور مشتری.
حالا:
گریدویو اول پر از اطلاعات جدولم هست .چطور میتونم اطلاعات سطر کیلیک شده رو بفرستم به دومی ؟ ( با درنظر گرفتن اینکه ستون دکمه رو هم دستی اضافه کرده ام ولی بقیه ستون ها رو چی ؟ اونا هم دستی یا با کد نویسی؟)
کد انتقال با این نوع گریدویو چطور میشه ؟؟؟

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

sohil_ww
پنج شنبه 07 شهریور 1392, 09:41 صبح
اول از همه می تونی از چک باکس استفاده کتی که خیلی بهتره به جای باتن ؟

دومآ خیلی پیچیده توضیح دادی دقیقا نفهمیدم چی می خوای ولی اگه گرید اول از بانک تغذیه می کنه که صد در صد یه دیتا ستی یا دیتا تیبلی داره خوب برای انتقال اطلاعات به گرید دوم از اون استفاده کن !

این پاسخ فهم من از سئوال تو بود

cisco ++
پنج شنبه 07 شهریور 1392, 17:12 عصر
اول از همه می تونی از چک باکس استفاده کتی که خیلی بهتره به جای باتن ؟

دومآ خیلی پیچیده توضیح دادی دقیقا نفهمیدم چی می خوای ولی اگه گرید اول از بانک تغذیه می کنه که صد در صد یه دیتا ستی یا دیتا تیبلی داره خوب برای انتقال اطلاعات به گرید دوم از اون استفاده کن !

این پاسخ فهم من از سئوال تو بود

از چک باکس چطور استفاده کنم ؟ نمونه میشه بزارید؟؟

گرید اول به یک جدول دیتابیس متصل هست و گرید دوم بر اساس انتخاب سطری از گرید اول ایجاد خواهد شد و بعد از محاسبه تعداد کل دارو و میزان کل پرداختی مشتری باید اطلاعات هم در یک جدول دیگه ثبت بشه و هم ازش پرینت گرفته بشه بعنوان فاکتور

narges_j
پنج شنبه 07 شهریور 1392, 20:16 عصر
من که یه بار جواب سوالتون دادم با ایونت های گرید اول میتونی اطلاعات به گرید دوم بفرستی میتونی حتی با ایونت های گرید دوم نام دارو را در یک ستون تایپ کنی و با کلید اینتر بقیه اطلاعات دارو وارد بشه برای جمع فاکتور هم میتونی همزمان محاسبه کنی و حتی میتونی وقتی تعداد دارو را تغییر داد جمع فاکتور تغییر بدی

cisco ++
جمعه 08 شهریور 1392, 10:37 صبح
من که یه بار جواب سوالتون دادم با ایونت های گرید اول میتونی اطلاعات به گرید دوم بفرستی میتونی حتی با ایونت های گرید دوم نام دارو را در یک ستون تایپ کنی و با کلید اینتر بقیه اطلاعات دارو وارد بشه برای جمع فاکتور هم میتونی همزمان محاسبه کنی و حتی میتونی وقتی تعداد دارو را تغییر داد جمع فاکتور تغییر بدی


سلام
متشکرم ولی اون پست رو مدیر تالار حذف کرده و نتونستم دقیق بخونمش
اگه میتونید با کد توضیح بدید تا راحتتر متوجه بشم
مثلا نمونه بزارید خیلی ممنون میشم

narges_j
جمعه 08 شهریور 1392, 13:34 عصر
یک فایل pdf اماده کردم امیدوارم بدردتون بخوره.فقط چون فرصت نبود خیلی توضیح ندادم

http://uploadtak.com/viewer.php?file=f633_Grid.rar
http://intext.nav-links.com/images/spinner-ani48.gif

khokhan
جمعه 08 شهریور 1392, 16:07 عصر
سلام دوستان
من درمورد نحوه انتقال اطلاعات یک گریدویو به گریدویو دوم در یک فرم دیگه به مشکل برخورده ام.
قابل توجه که تاپیک های زیر رو مطالعه کرده ام :
http://barnamenevis.org/showthread.p...8C%DA%AF%D8%B1
و
http://barnamenevis.org/showthread.p...8C%DA%AF%D8%B1
ولی کمی شرایطم پیچیده است :
در فرم اولم دیتاگریدویو با اتصال به بانک اطلاعاتی و جدول دارو ها ، با 3 تا فیلد :شماره ردیف - نام دارو - قیمت پر میشه
من میخوام کاربر برای اینکه بتونه به تعداد مورد نیاز دارو انتخاب کنه ، یه گریدویو دیگه ظاهر بشه که یکی از ستون هاش button باشه (تعداد دارو رو با کلیلک روی اون دکمه مشخص بشه) و دو ستون دیگه هم مربوط به اطلاعات وارد شده از گریدویو اولیه باشه که طرف روی سطری از اون کلیک کرده.
با این کار میخوام وقتی انتخاب های کاربر تموم شد ، بر اساس تعداد داروی اتخاب شده و قیمت هاشون جمع زده بشه و جمع کل پرداختی + نام دارو ها + تعداد کل رو بفرستم برای چاپ که بشه فاکتور مشتری.
حالا:
گریدویو اول پر از اطلاعات جدولم هست .چطور میتونم اطلاعات سطر کیلیک شده رو بفرستم به دومی ؟ ( با درنظر گرفتن اینکه ستون دکمه رو هم دستی اضافه کرده ام ولی بقیه ستون ها رو چی ؟ اونا هم دستی یا با کد نویسی؟)
کد انتقال با این نوع گریدویو چطور میشه ؟؟؟

کمی پیچیده است ولی مجبورم انجام بدمش
لطفا کمک کنید
.................................................. ........................:لبخند:

cisco ++
شنبه 09 شهریور 1392, 17:16 عصر
.................................................. ........................:لبخند:

کاشکی توضیح میدادین چون دیتابیس برنامه تون اتچ نمیشه
باز هم ممنون

cisco ++
شنبه 09 شهریور 1392, 17:17 عصر
یک فایل pdf اماده کردم امیدوارم بدردتون بخوره.فقط چون فرصت نبود خیلی توضیح ندادم

http://uploadtak.com/viewer.php?file=f633_Grid.rar
http://intext.nav-links.com/images/spinner-ani48.gif

ممنون کمک خوبی بود

khokhan
شنبه 09 شهریور 1392, 17:31 عصر
کاشکی توضیح میدادین چون دیتابیس برنامه تون اتچ نمیشه
باز هم ممنون
فایل دیتابیس رو از پوشه DB داخل پوشه debug کپی کن کار می کنه

cisco ++
شنبه 09 شهریور 1392, 17:37 عصر
.................................................. ........................:لبخند:

دوست عزیز ممنون از لطفتون
فرم 1 برای ثبت داروی موردنظر مراجعه کننده است و فرم 3 تعداد و قیمت و نام داروی انتخاب شده رو برای چاپ فاکتور میاره
فرم 2 واسه چی طراحی شده؟ چون باز نمیشه و خطا میده
میخوام بدونم چه هدفی از طراحی و کدهای فرم 2 توی نمونه ای که گذاشتین داشتین؟

khokhan
شنبه 09 شهریور 1392, 18:14 عصر
دوست عزیز ممنون از لطفتون
فرم 1 برای ثبت داروی موردنظر مراجعه کننده است و فرم 3 تعداد و قیمت و نام داروی انتخاب شده رو برای چاپ فاکتور میاره
فرم 2 واسه چی طراحی شده؟ چون باز نمیشه و خطا میده
میخوام بدونم چه هدفی از طراحی و کدهای فرم 2 توی نمونه ای که گذاشتین داشتین؟
توی فرم 1 یه دیتا گرید هست و برای اینکه مشکلی پیش نیاد ستونهاشو با کد نویسی ایجاد کردم و یه ستون باتن براش تعریف کردم :

private void AddButtonColumn()
{
DataGridViewButtonColumn buttons = new DataGridViewButtonColumn();
{
buttons.Name = "jadid";
buttons.HeaderText = "جدید";
buttons.Text = "ویرایش";
buttons.UseColumnTextForButtonValue = true;
buttons.Width = 80;

buttons.FlatStyle = FlatStyle.Standard;
buttons.CellTemplate.Style.BackColor = Color.Honeydew;
buttons.DisplayIndex = 0;
}

dataGridView1.Columns.Add(buttons);

}

و این هم برای سایر ستونها :


private void AddalltextColumn()
{
DataGridViewTextBoxColumn t1 = new DataGridViewTextBoxColumn();
DataGridViewTextBoxColumn t2 = new DataGridViewTextBoxColumn();
DataGridViewTextBoxColumn t3 = new DataGridViewTextBoxColumn();
DataGridViewTextBoxColumn t4 = new DataGridViewTextBoxColumn();
{
t1.Name = "name"; t2.Name = "price"; t3.Name = "tedad"; t4.Name = "total";
t1.HeaderText = "نام دارو"; t2.HeaderText = "قیمت"; t3.HeaderText = "تعداد"; t4.HeaderText = "جمع";
t1.Width = 160; t2.Width = 90; t3.Width = 80; t4.Width = 80;
t1.DisplayIndex = 1; t2.DisplayIndex = 2; t3.DisplayIndex = 3; t4.DisplayIndex = 4;

}

dataGridView1.Columns.Add(t1); dataGridView1.Columns.Add(t2);
dataGridView1.Columns.Add(t3); dataGridView1.Columns.Add(t4);
}
وقتی برنامه اجرا می شه ستونها با یه ردیف خالی نمایش داده می شه :
109993

بافشار دادن دکمه ردیف فرم 2 باز می شه و یه گرید حاوی اطلاعات دارو ها نمایش داده می شه :
109994

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

وهمزمان وقتی تعداد رو نوشتین ستون قیمت با توجه به تعداد دارو جمع قیمت رو نشون می ده و ردیف دوم و ردیف سوم الی آخر
در ضمن یه تکست باکس پایین گرید هست که جمع کل قیمت لیست انتخابی رو نشون می ده
ویه دکمه ثبت هم هست که لیستها رو با توجه به شناسه بالیی که خودکار تولید می شه در جدول دیگری در بانک ذخیره می کنه

cisco ++
شنبه 09 شهریور 1392, 18:25 عصر
خیلی ممنون از وقتی که گذاشتین
دیتابیس رو میخواستم اتچ کنم که بتونم هم جدول نتیجه سفارشات رو ببینم و دست آخر با کریستال ریپورت گزارشی واسه فاکتورم درنظر بگیرم و چاپ کنم ولی اتچ نمیشه
اگه مشکلی پیش بیاد مزاحمتون میشم و سوال میکنم