PDA

View Full Version : شناسایی heder دیتا گرید



rezaei manesh
چهارشنبه 08 تیر 1384, 14:37 عصر
سلام
من می خوام وقتی کاربر روی هدر یکی از ستون های دیتا گرید کلیک می کنه من شماره آن ستون رو پیدا کنم
dataGrid1.CurrentRowIndex
کد بالا جواب نمی ده
صفر این کد رکود اول هستش نه هدر دیتا گرید
:گیج:

Mohammad .net
سه شنبه 14 تیر 1384, 14:04 عصر
با سلام


Me.DataGrid1.CurrentCell.ColumnNumber()

Natilous
چهارشنبه 15 تیر 1384, 06:32 صبح
با سلام
چطوری می تونم نام ستون‌های datagridی را که به یک جدول ربط داده شده در vb.net عوض کنم .

:oops: مرسی

علیرضا مداح
چهارشنبه 15 تیر 1384, 08:13 صبح
با سلام
چطوری می تونم نام ستون‌های datagridی را که به یک جدول ربط داده شده در vb.net عوض کنم .

مرسی

برای اینکار میبایست از TableStyles استفاده نمایید . با کمی جستجو مطلب مورد نظر خود را پیدا خواهید نمود .

rezaei manesh
چهارشنبه 15 تیر 1384, 09:16 صبح
سلام آقا محمد
کد شما رو قبلا امتهتان کرده بودم.اما اونم کار نمی کنه مثلا اگر فوکوس روی ستون 2 از رکود 3 باشه و من بروی هدر ستون 5 کلیک کنم شماره ستونی که به من می ده 2 هستش؟

در کل من می خوام به هدر دسترسی داشته باشم مثلا بفهمم که آیا کاربر روی هدر اصلا کلیک کرده یا نه؟ :flower: :گیج:

Mohammad .net
چهارشنبه 15 تیر 1384, 17:30 عصر
به عنوان بدترین راه حل به استفاده از Event های Mouse فکر کن :sorry:

علیرضا مداح
شنبه 18 تیر 1384, 18:27 عصر
سلام .
دوست عزیز برای انجام اینکار باید از تابع HitTest مربوط به دیتاگرید استفاده نمایید که مقدار بازگشتی آن از نوع کلاس HitTestInfo بوده و مشخصات نقطه ی کلیک شده ی دیتاگرید از جمله شماره سطر/ستون و نوع مکان کلیک شده ی دیتاگرید را بازمیگرداند . به مثالی از MSDN در این خصوص توجه کنید :



Private Sub DataGrid1_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs)
Dim myGrid As DataGrid = CType(sender, DataGrid)
Dim hti As System.Windows.Forms.DataGrid.HitTestInfo
hti = myGrid.HitTest(e.X, e.Y)
Select Case hti.Type
Case System.Windows.Forms.DataGrid.HitTestType.None
Console.WriteLine("You clicked the background.")
Case System.Windows.Forms.DataGrid.HitTestType.Cell
Console.WriteLine("You clicked cell at row " & hti.Row & ", col " & hti.Column)
Case System.Windows.Forms.DataGrid.HitTestType.ColumnHe ader
Console.WriteLine("You clicked the column header for column " & hti.Column)
Case System.Windows.Forms.DataGrid.HitTestType.RowHeade r
Console.WriteLine("You clicked the row header for row " & hti.Row)
Case System.Windows.Forms.DataGrid.HitTestType.ColumnRe size
Console.WriteLine("You clicked the column resizer for column " & hti.Column)
Case System.Windows.Forms.DataGrid.HitTestType.RowResiz e
Console.WriteLine("You clicked the row resizer for row " & hti.Row)
Case System.Windows.Forms.DataGrid.HitTestType.Caption
Console.WriteLine("You clicked the caption")
Case System.Windows.Forms.DataGrid.HitTestType.ParentRo ws
Console.WriteLine("You clicked the parent row")
End Select

End Sub

Mohammad .net
دوشنبه 20 تیر 1384, 18:15 عصر
با تشکر از آقای مداح
و به عنوان بهترین راه حل منتظر نسخه نهایی VS 2005 باش . DataGridView معرکه است.