PDA

View Full Version : 2 سوال ساده در مورد دیتاگرید



yavari
سه شنبه 01 اسفند 1385, 20:18 عصر
سلام دوستان

اینترفیس من طوریه که یه گرید دارم حاوی چکیده اطلاعاتم ، دوست دارم کاربر با انتخاب سطر گرید (حالا یا دابل کلیک یا انتخاب و کلیک یه دکمه)
به فرمی که برا کلیات در نظر گرفتم ارجاع بشه !
حالا 2 مشکل خیلی ساده (راستش دفعه اولمه دارم با 2005 کار میکنم:خجالت: )
یک اینکه چجوری میتونم وقتی سطر گریدمو انتخاب کردم یه سلول آبی نشه بلکه کل سطرم آبی شه تو وی بی 6 با MarqueStyle کار میکردم !
دو اینکه میخوام وقتی سطره انتخاب شد آیدی اون ردیف که ویزیبل نداره برا کاربر ، رو بفهمم تا بتونم یه کوئری روش بزنم
البته اینو نوشتم که جوابم میده اما فقط وقتی که سطر کلی انتخاب بشه (یعنی همون سوال یک)

Dim IdGrid As Long = DataGridView1.SelectedCells(1).Valueدر کل فک میکنم اگه سوال اولی حل بشه دومی حل بشه !

ممنون میشم راهنمائی کنید !

linux
سه شنبه 01 اسفند 1385, 21:16 عصر
سلام دوستان

اینترفیس من طوریه که یه گرید دارم حاوی چکیده اطلاعاتم ، دوست دارم کاربر با انتخاب سطر گرید (حالا یا دابل کلیک یا انتخاب و کلیک یه دکمه)
به فرمی که برا کلیات در نظر گرفتم ارجاع بشه !
حالا 2 مشکل خیلی ساده (راستش دفعه اولمه دارم با 2005 کار میکنم:خجالت: )
یک اینکه چجوری میتونم وقتی سطر گریدمو انتخاب کردم یه سلول آبی نشه بلکه کل سطرم آبی شه تو وی بی 6 با MarqueStyle کار میکردم !
دو اینکه میخوام وقتی سطره انتخاب شد آیدی اون ردیف که ویزیبل نداره برا کاربر ، رو بفهمم تا بتونم یه کوئری روش بزنم
البته اینو نوشتم که جوابم میده اما فقط وقتی که سطر کلی انتخاب بشه (یعنی همون سوال یک)

Dim IdGrid As Long = DataGridView1.SelectedCells(1).Valueدر کل فک میکنم اگه سوال اولی حل بشه دومی حل بشه !

ممنون میشم راهنمائی کنید !
برای انتخاب کل سطر یک گزینه هست از آن fullrowselect را باید انتخاب کنی
برای بعدی هم توی رخداد کلیک دیتاگرید می توانی کد بنویسی e.rowindex چیزی هست که لازمش داری

mah.yar
سه شنبه 01 اسفند 1385, 21:35 عصر
لازم نیست کل Row انتخاب بشه از کد زیر استفاده کن کارت راه میفته:

Dim IdGrid As Long = DataGrid1.CurrentRow.Cells(1).Value

منظور از 1 در کد بالا همون شماره ردیف ID تو دیتاگریده. اگه ID در دیتاگریدت در ردیف اول باشه اونو به 0 تبدیل کن و ...
یعنی:

Dim IdGrid As Long = DataGrid1.CurrentRow.Cells(0).Value

programmermp
سه شنبه 01 اسفند 1385, 21:38 عصر
حالا من یک سئوال دارم

چطوری میشه ایندکس سلول انتخاب شده رو بدست آورد؟


با تشکر

behzad_gh
سه شنبه 01 اسفند 1385, 22:24 عصر
Private Sub DG1_SelectionChanged(ByVal sender As Object, _

ByVal e As System.EventArgs) Handles DG1.SelectionChanged

If DG1.SelectedRows.Count = 0 Then Exit Sub

RowIndex = DG1.SelectedCells(0).RowIndex

ColIndex = DG1.SelectedCells(0).ColumnIndex

End Sub

PC2st
سه شنبه 01 اسفند 1385, 22:41 عصر
به طریق زیر هم میشه:


DataGridView1.CurrentCell.RowIndex //رکورد فعلی
DataGridView1.CurrentCell.ColumnIndex //فیلد فعلی

البته سلول انتخاب شده رو مشخص نمیکنه، بلکه سلول فعلی رو مشخص میکنه.

yavari
چهارشنبه 02 اسفند 1385, 20:12 عصر
سلام

ممنون از کلیه عزیزان !
شرمنده ، روم نمی شه بپرسم از بس ضایعه این سوال !
این فونت دیتاگرید کجا تنظیم میشه ؟ چه کدی بنویسم ؟

ممنون

programmermp
چهارشنبه 02 اسفند 1385, 20:26 عصر
سلام




DataGridView1.Font = New System.Drawing.Font("Tahoma", 8, FontStyle.Bold)

behzad_gh
چهارشنبه 02 اسفند 1385, 20:28 عصر
در پانل Properties و خصوصیت .RowsDefaultCellStyle