PDA

View Full Version : ویرایش رکوردها



nedaaaa
پنج شنبه 29 مرداد 1388, 22:36 عصر
سلام فرض کنید تو صفحه 1 یه دیتا گرید داریم و دو تا دکمه یکی به نام ثبت رکورد جدید و اون یکی دیگه به نام ویرایش رکورد موجود. با زدن ثبت رکورد جدید خب طبیعتا وارد صفحه 2 می شیم و می تونیم یک رکورد جدید رو ثبت کنیم و بعد از ثبت اون رکورد رو توی دیتا گرید صفحه 1 مشاهده کنیم .
حالا می خوام یه رکورد رو از دیتا گرید انتخاب کنم و دکمه ویرایش رکورد موجود رو کلیک کنم تا مشخصات اون رکورد بره به همون صفحه ای که رکورد جدید ثبت می کردیم و مقدار هر فیلدی در کنترل مربوط به خودش قرار بگیره تا کاربر بتونه اون رو ویرایش کنه .
مشکل من اینه که این مقادیر توی کنترل ها نمایش داده نمیشه و صفحه خالی باز میشه. یه متغیر تعریف کردم public و bool که هر وقت صفحه 2 برای ثبت رکورد جدید باز میشه true و هر وقت برای ویرایش رکورد موجود باز میشه false بشه.
دستوراتی که نوشتم به شرح زیره:
دستوراتی که برای دکمه ثبت رکورد جدید نوشتم : (ببخشید اگه چینش به هم خورده شده)
sabtst.flg = true;
if (dataGridView1.SelectedRows.Count > 0)
{
string id = dataGridView1.SelectedRows[0].Cells[7].Value.ToString();
sabtst.code = Convert.ToInt32(id);
sabtst sabt = new sabtst();
sabt.ShowDialog();
this.studentTableAdapter.Fill(this.quranDataSet.st udent);
}
else
MessageBox.Show("لطفا یک ردیف از لیست را انتخاب کنید");
************************************************** **************

دستوراتی که برای ویرایش رکورد موجود نوشتم
sabtst.flg = false;
sabtst sabt = new sabtst();
sabt.ShowDialog();
this.studentTableAdapter.Fill(this.quranDataSet.st udent);

حالا لطفا راهنمایی کنین که من چه طوری می تونم مقادیر فیلد های رکورد انتخاب شده رو داخل کنترل های مربوطه قرار بدم

asefy2008
پنج شنبه 29 مرداد 1388, 23:19 عصر
خوب مقادیر هر سلول از رکورد انتخاب شده رو در کنترل های مربوطه قرار بده.با این کد:


dgv.currentrow.cell[0].value.tostring()

موفق باشید

asefy2008
پنج شنبه 29 مرداد 1388, 23:27 عصر
راستی برای ارسال مقادیر به فرم دومت این (http://barnamenevis.org/forum/showthread.php?t=91138&highlight=ObjectRelations) تایپیک رو مطالعه کن، کمکت می کنه.

nedaaaa
شنبه 31 مرداد 1388, 00:00 صبح
:اشتباه:از پاسختون ممنون اما
من همه فیلد ها رو توی دیتا گرید نمایش ندادم فقط تعدادی از اونها رو
در ضمن من تو صفحه 2 رادیو باتن هم دارم حالا مقادیر فیلد هایی که مربوط به رادیو باتن میشه رو چه طوری در فرم چک بزنم
پاسخ فوری می خوام دوستان لطفا کمکم کنید

mn_zandy63
شنبه 31 مرداد 1388, 10:29 صبح
خب دو تا راه به ذهن من میرسه٬
یا همه فیلد هایی که نیاز دارید رو بخونید از دیتابیس و فقط اونهایی رو که نیاز دارید در فرم اول نمایش بدین٬
یا فیلد کلید رو برای فرم دوم ارسال کنید تا اون فرم خودش دیتای مورد نیازش رو از دیتابیس بخونه.