PDA

View Full Version : سوال: حرکت بین رکوردهای دیتاگریدویو با mouse wheel



arashjoon
پنج شنبه 23 تیر 1390, 14:24 عصر
سلام

مي خواستم بدونم چطوري مي تونم بين رکوردهاي ديتاگريدويو حرکت کنم
مثلأ 4 تا دکمه بزارم که يکي بره رکورد بعدي ، يکي قبلي، يکي آخرين رکورد و اون يکي هم اولين رکورد
لطفأ منو راهنمايي کنيد

teymoorei
پنج شنبه 23 تیر 1390, 22:45 عصر
سلام
من برای برنامه هام کد زیر رو نوشتم ببین به دردت می خوره :
اول زیر کلاس فرمت یه متغییر به شکل زیر تعریف می کنی :
Dim recordtrue As Integer = 0
وبعد ...
Public Sub Display(ByVal ds As DataSet)
Try
Dim DataTable As DataTable = ds.Tables(0)
If DataTable.Rows.Count <> 0 Then
TextBox1.Text = Convert.ToString(DataTable.Rows(0)(0)) 'اولین فیلد توی دیتابیس
TextBox2.Text = Convert.ToString(DataTable.Rows(0)(1)) 'دومین فیلد توی دیتابیس
End If
Catch ex As Exception

End Try
End Sub
وهمچنین یه دونه sub دیگه هم داریم :
Try
Public Sub Display2(ByVal ds As DataSet)
Dim DataTable As DataTable = ds.Tables(0)
If DataTable.Rows.Count <> 0 Then

TextBox1.Text = Convert.ToString(DataTable.Rows(i)(0))
TextBox2.Text = Convert.ToString(DataTable.Rows(i)(1))

End If
Catch ex As Exception

If recordtrue = 1 Then
i -= 1

msgbox.show "به آخر رکورد ها رسیده اید"

Else
msgbox.show "به آخر رکورد ها رسیده اید"
End If

ElseIf recordtrue = 2 Then
i += 1

msgbox.show "در اولین رکورد هستید"

Else
msgbox.show "در اولین رکورد هستید"
End If

End If
End Try
End Sub
حالا میریم سر دکمه ی next


If TextBox9.Text = "" Then
Connection.Open()
recordtrue = 1
If Connection.State <> ConnectionState.Open Then
Connection.Open()
End If
da = New SqlDataAdapter("Select * From cheque5", Connection)
ds = New DataSet()
da.Fill(ds, "cheque5")
i += 1
Display2(ds)
Connection.Close()
Else
Connection.Open()
recordtrue = 1
If Connection.State <> ConnectionState.Open Then
Connection.Open()
End If
da = New SqlDataAdapter("Select * From cheque5 Where cndtnum Like'" & TextBox9.Text & "%'", Connection)
ds = New DataSet()
da.Fill(ds, "cheque5")
i += 1
Display2(ds)
Connection.Close()
End If
دکمه ی previous :

If TextBox9.Text = "" Then
Connection.Open()
recordtrue = 1
If Connection.State <> ConnectionState.Open Then
Connection.Open()
End If
da = New SqlDataAdapter("Select * From cheque5", Connection)
ds = New DataSet()
da.Fill(ds, "cheque5")
i += 1
Display2(ds)
Connection.Close()
Else
Connection.Open()
recordtrue = 1
If Connection.State <> ConnectionState.Open Then
Connection.Open()
End If
da = New SqlDataAdapter("Select * From cheque5 Where cndtnum Like'" & TextBox9.Text & "%'", Connection)
ds = New DataSet()
da.Fill(ds, "cheque5")
i += 1
Display2(ds)
Connection.Close()
End If

teymoorei
جمعه 24 تیر 1390, 10:44 صبح
سلام دوست گلم
یه کار دیگه هم یادم اومد که می تونی بکنی :
می تونی اطلاعاتت رو بریزی توی یه DataGrid و بعدم توی توی رویداد مورد نظرت کد زیر رو برای هر TextBox مینویسی ، راستی یادت نره که یه شمارنده بزاری که بتونی توی رکورد هات حرکت کنی .

TextBox1.Text = DataGridView.SelectedRows(0).Cells(0).Value.ToStri ng

roze_abi-r
شنبه 25 تیر 1390, 02:13 صبح
سلام دوست عزیز

چهار تا button به فرمتون اضافه کنید

یکی با عنوان "اولین رکورد" و کد زیر رو تو خاصیت کلیکش قرار بدین



DataGridView1.MultiSelect = False
DataGridView1.Rows(0).Selected = True



button دوم با عنوان "قبلی" و کد زیر رو تو خاصیت کلیکش قرار بدین



DataGridView1.MultiSelect = False
If DataGridView1.SelectedRows(0).Index > 0 Then
DataGridView1.Rows(DataGridView1.SelectedRows(0).I ndex - 1).Selected = True
End If



button سوم با عنوان "بعدی" و کد زیر رو تو خاصیت کلیکش قرار بده



DataGridView1.MultiSelect = False
If DataGridView1.Rows.Count > 1 And (DataGridView1.SelectedRows(0).Index) < (DataGridView1.RowCount - 1) Then
DataGridView1.Rows(DataGridView1.SelectedRows(0).I ndex + 1).Selected = True
End If



button چهارم با عنوان "آخرین رکورد" و کد زیر رو تو خاصیت کلیکش قرار بدین



DataGridView1.MultiSelect = False
DataGridView1.Rows(DataGridView1.RowCount - 1).Selected = True



موفق باشین

یا حق

arashjoon
دوشنبه 27 تیر 1390, 22:42 عصر
عالی بود داداش ممنون

arashjoon
دوشنبه 27 تیر 1390, 22:42 عصر
ممنون کمکم کردی