PDA

View Full Version : سوال: sort کردن در DataGridView



naser_feb8646
چهارشنبه 28 مرداد 1388, 09:20 صبح
سلام دوستان

چطور می تونم Sort کردن بوسیله سر ستونهای DataGridView رو غیر فعال کنم

rezaei manesh
چهارشنبه 28 مرداد 1388, 10:31 صبح
در قسمت edit clomn متد sortedMode رو تنظیم کن این جور می تونی برای هر ستون تنظیم کنی

naser_feb8646
چهارشنبه 28 مرداد 1388, 12:22 عصر
سلام

دوست عزیز من از طریق کد نویسی گرید ویو رو پر می کنم و در قسمت کد نویسی هم SortedMode رو پیدا نکردم

rezaei manesh
چهارشنبه 28 مرداد 1388, 12:33 عصر
باید درون خاصیت های سلول بگردی این کدش


grid1.Columns.Item(0).SortMode = DataGridViewColumnSortMode.NotSortable

Navid Asadi
شنبه 31 مرداد 1388, 23:17 عصر
سلام
چطور میتونم یک دیتاگرید رو با کد نویسی بر اساس یک ستون خاص Sort کنم؟

anooshiran
یک شنبه 01 شهریور 1388, 00:18 صبح
سلام دوست عزيز

روال زير را من براي همين منظور استفاده مي كنم. كه البته امكان مرتب سازي را براي چند ستون داراست




Private Sub MultiColumnSortGridDataSource(ByVal dgv As DataGridView, ByVal SortOrderColumns As String, ByVal SortDirection As String)
Dim ColumnsOrdedToSort As String = Nothing
Dim spl = Split(SortOrderColumns, ",")
For i As Int16 = 0 To UBound(spl)
If Val(spl(i)) = 0 And spl(i).ToString.Length > 1 Then
ColumnsOrdedToSort += spl(i) + ","
Else
Dim val_Spl As Int16 = Val(spl(i))
ColumnsOrdedToSort += dgv.Columns(val_Spl).Name + ","
End If
Next
ColumnsOrdedToSort = Mid(ColumnsOrdedToSort, 1, ColumnsOrdedToSort.Length - 1)
Dim Sort_Format = "{0} {1}"
Try
dgv.DataSource.DefaultView.Sort = String.Format(Sort_Format, ColumnsOrdedToSort, SortDirection)
dgv.DataSource = dgv.DataSource.DefaultView.ToTable
Catch ex As Exception
End Try
End Sub


توضيح بعضي نكات ضروري است

SortOrderColumns : مشخص كننده ستون هاي است كه مي خواهي در اولويت مرتب سازي قرار گيرد. مثلا "3,4,6" كه ابتدا بر اساس ستون 3 و سپس ستون 4 و سپس ستون 6 مرتب سازي مي كند.

SortDirection : كه يا "ASC" ويا "DESC" صعودي و نزولي مي باشد.

و اين هم طريق باز خواني روال است




MultiColumnSortGridDataSource(Datagridview1, "3,4,6", "Asc")