PDA

View Full Version : دابل کلیک بر روی دیتا گرید برای ویرایش اطلاعات



aknj56
چهارشنبه 16 فروردین 1391, 19:50 عصر
با سلام خدمت دوستان
یک کد میخام که وقتی اطلاعات رو سرچ کردم و اطلاعات روی دیتا گرید نشان داده شد با دابل کلیک روی آن مورد دلخاه روی تکس باکس هایی که قبلا آن اطلاعات را پر کرده بودم دوباره ظاهر شود وقابل ویرایش باشد

moory1364
چهارشنبه 16 فروردین 1391, 20:33 عصر
خدمت شما
سلول های مورد نظر تو با تکس باکسات ست کنید

Private Sub ff(ByVal i As Byte)
TextBox1.Text = DataGridView1.Rows(i).Cells(0).Value.ToString
TextBox2.Text = DataGridView1.Rows(i).Cells(5).Value.ToString
TextBox3.Text = DataGridView1.Rows(i).Cells(6).Value.ToString
TextBox4.Text = DataGridView1.Rows(i).Cells(7).Value.ToString
TextBox5.Text = DataGridView1.Rows(i).Cells(10).Value.ToString
TextBox6.Text = DataGridView1.Rows(i).Cells(16).Value.ToString
TextBox7.Text = DataGridView1.Rows(i).Cells(8).Value.ToString
TextBox8.Text = DataGridView1.Rows(i).Cells(11).Value.ToString
TextBox9.Text = DataGridView1.Rows(i).Cells(12).Value.ToString
TextBox10.Text = DataGridView1.Rows(i).Cells(13).Value.ToString
TextBox11.Text = DataGridView1.Rows(i).Cells(14).Value.ToString
TextBox12.Text = DataGridView1.Rows(i).Cells(15).Value.ToString
End Sub

swallow.pa
چهارشنبه 16 فروردین 1391, 20:59 عصر
بجای Row(i) باید از CurrenRow استفاده بشه

Hybrid
چهارشنبه 16 فروردین 1391, 21:43 عصر
بجای Row(i) باید از CurrenRow استفاده بشه

سلام ، کدش مشکلی نداره ، اگه دقت کنین به صورت پارامتر index سطر برای زیر برنامه ارسال میشه و مقدار سلول وارد تکست باکس میشه به درستی ، ولی یک مرحله به کارمون اضافه شده ، که بهتره همون CurrentRow رو استفاده کنیم

aknj56
چهارشنبه 16 فروردین 1391, 22:05 عصر
با سلام
یک برنامه بود که این کد را برای همین کار گذاشته بودند و کار می کرد من از این کد استفاده کردم و مشخصات رو تغییر دادم ولی کار نمی کند اگر امکان دارد راهنمایی کنید

Private Sub DataGridView1_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellDoubleClick
Dim n As Int16, kod As Integer
n = e.RowIndex
kod = DataGridView1.Rows(n).Cells(0).Value
MoshakhasatBindingSource.Position = MoshakhasatBindingSource.Find("shomarah-sabt", kod)
End Sub

Hybrid
پنج شنبه 17 فروردین 1391, 11:39 صبح
سلام ، دوست عزیز بزار خوب واستون توضیح بدم :

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

2 ) بعد از اینکه کاربر اومد مشخصات رو تغییر داد میاد رو دکمه ی ثبت ویرایش کلیک میکنه که در این دکمه شما میاین دستور Update رو مینویسین .

aknj56
پنج شنبه 17 فروردین 1391, 20:30 عصر
سلام دوست عزیز
چون برنامه من ویزاردی هست فکر کنم این طوری باشه که با بیندیگ سورس باید تکس باسها رو پر کنه. یک نگاه به اون کدهایی که من بالا گذاشتم بندازید

Private Sub DataGridView1_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellDoubleClick
Dim n As Int16, kod As Integer
n = e.RowIndex
kod = DataGridView1.Rows(n).Cells(0).Value
MoshakhasatBindingSource.Position = MoshakhasatBindingSource.Find("shomarah-sabt", kod)
End Sub


میگم توی یک برنامه این کدها کار میکنه ولی من ازش تو برنامم استفاده کردم و مشخصاتش رو تغییر دادم ولی نه اروری میده و نه کار میکنه منظور از مشخصات همون شماره ثبت هست که توی این کد نوشته شده و به عنوان کلید این تیبل هست