PDA

View Full Version : تشخیص ستون در DataGridView



هادی123
چهارشنبه 15 شهریور 1385, 21:29 عصر
با سلام

فرض کنید دو ستون داریم یکی DataGridViewButtonColumn و دیگری DataGridViewLinkColumn می خواهم وقتی بر روی ستون Button کلیک میکنم آن ستون را تشخصی بده و وقتی بر روی link کلیک می کنم دستورات مربوط به لینک اجرا شود

در حالتی که تنها یک ستون دکمی وجود داره من از دستور زیر استفاده می کنم




Private Sub dataGridView1_CellContentClick(ByVal sender As Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick

row = ds.Tables("name").Rows(DataGridView1.Rows(e.RowIndex).Index)
End Sub

ghafoori
چهارشنبه 15 شهریور 1385, 22:31 عصر
دوست عزیز خوب یک شرط بزار مثلا اگر ستون اول لینک و ستون دوم دکمه با یک شرط مثل این



If e.ColumnIndex = 0 Then
'code link
ElseIf e.ColumnIndex = 1 Then
'code button
End Ifخاصیت e.ColumnIndex شماره ستون را میدهد
ایا منظور شما همین بوده یا چیز دیگری

هادی123
پنج شنبه 16 شهریور 1385, 09:34 صبح
نه منظورم این نیست

شما فرض کنید دیتاگریدویو دارید که یک ستون آن دکمه هست می خواهم وقتی بر روی دکمه کلیک می کنم مثلا رکورد مربوطه را نمایش دهد .

من این کار را با دستوری که در بالا نوشتم توانسته انجام دهم

ولی اگر دو تا ستون دکمه ای داشته باشیم باید این دو ستون را از هم تشخیص بدهم

دستوری که شما نوشته اید


If e.ColumnIndex = 0 Then
'code link
ElseIf e.ColumnIndex = 1 Then
'code button
End If
در این صورت باید از

AddHandler l2.Click, AddressOf l2_Click

استفاده کنم سپس زیر برنامه ای را صدا بزنم

خوب باید در اینجا چه نوع متغییری را تعریف کنم

یعنی l2 در دستور بالا باید از چه نوعی باشد ؟

minmoj
پنج شنبه 23 آذر 1385, 09:39 صبح
از دستور زیر استفاده کن
If e.ColumnIndex = 2 AndAlso Not DataGridView1.Rows(e.RowIndex).IsNewRow then
endif

minmoj
پنج شنبه 23 آذر 1385, 09:42 صبح
برای اضافه کردن sub از دستور addhandler استفاده کن
مثال
AddHandler TxtMenu.TextChanged, AddressOf TxtMenu_TextChanged

tsfrzdh
یک شنبه 20 تیر 1389, 09:33 صبح
Private Sub grid_view_afrad_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles grid_view_afrad.CellClick
If grid_view_afrad.Columns(e.ColumnIndex).GetType.Nam e = "DataGridViewLinkColumn" Then
details_afrad.Show()
End If
If grid_view_afrad.Columns(e.ColumnIndex).GetType.Nam e = "DataGridViewButtonColumn" Then
'.................... 2 button in add page
add.update_add.Visible = True

'................... bind controls add page

add.Show()
End If
End Sub