جستجو و جابه جایی سطر ها در datagrideview
سلام دوستان ، من با تابع زیر توی datagrideview هام search انجام میدم . و اون سطر هایی که شامل جستجو میشن رو select می کنم . حالا می خوام سطر هایی که سطر هایی که انتخاب شدن بیان تو سطر های اول datagrideview .
مثلا اگه 3 تا سطر انتخاب شدن به ترتیب توی سطر های 1 و 2 و 3 قرار بگیرن .
Public Sub DgvSearch(ByVal DGV As Telerik.WinControls.UI.RadGridView, ByVal TXT As DevComponents.DotNetBar.Controls.TextBoxX)
Dim a, b As String
DGV.MultiSelect = True
DGV.SelectionMode = DataGridViewSelectionMode.FullRowSelect
If TXT.Text <> "" Then
For i = 0 To DGV.RowCount - 1
a = DGV.Rows(i).Cells(2).Value
b = Mid(a, 1, TXT.TextLength)
If b = TXT.Text Then
DGV.Rows(i).IsSelected = True
End If
Next
End If
End Sub
ممنون میشم کمکم کنید .
نقل قول: جستجو و جابه جایی سطر ها در datagrideview
با سلام دوست عزيز
با كد زير ميتواني به نتيجه برسي
PrivateSub dgvSearch()
Dim s_row(dgv.SelectedRows.Count - 1)
Dim i As Int16 = 0
Dim selectedRow As DataGridViewRow
ForEach selectedRow In dgv.Rows
If selectedRow.Selected Then
s_row(i) = selectedRow.Index
i += 1
EndIf
Next
i = 0
ForEach rowIndex As Int16 In s_row
selectedRow = dgv.Rows(rowIndex)
dgv.Rows.Remove(selectedRow)
dgv.Rows.Insert(i, selectedRow)
i += 1
Next
EndSub
باز هم اگر سئوالي بود در خدمت هستم
1 ضمیمه
نقل قول: جستجو و جابه جایی سطر ها در datagrideview
میشه بگین این کد رو کجای تایع اضافه کنم ؟ من به انتهای کد های خودم اضافه کردم و این خطا ( عکسشو ضمیمه کردم ) میده .
یه سوال دیگه ، ساختار For Each چطوریه ؟
نقل قول: جستجو و جابه جایی سطر ها در datagrideview
سلام دوست عزيز
اين كدي كه برايت نوشتم زماني كارآيي دارد كه datagridview به table متصل نباشد. وقتي datagridview به يك table متصل است بايد از متد متفاوتي استفاده كرد.
اين متد را هم برايت خواهم نوشت
نقل قول: جستجو و جابه جایی سطر ها در datagrideview
نقل قول: جستجو و جابه جایی سطر ها در datagrideview
سلام دوست عزيز
كد زير جهت datagridview هايي است كه به table متصل هستند
PrivateSub dgvSearch()
Dim s_row(dgv.DataSource.rows.Count - 1) As DataRow
Dim i As Int16 = 0
Dim dgvRow As DataGridViewRow
Try
ForEach dgvRow In dgv.Rows
If dgvRow.Selected Then
s_row(i) = dgv.DataSource.rows(dgvRow.Index)
i += 1
EndIf
Next
ForEach dgvRow In dgv.Rows
IfNot dgvRow.Selected Then
s_row(i) = dgv.DataSource.rows(dgvRow.Index)
i += 1
EndIf
Next
Catch ex As Exception
EndTry
Dim dt AsNew DataTable
dt = dgv.DataSource.copy
dt.Clear()
i = 0
ForEach rows As DataRow In s_row
dt.LoadDataRow(rows.ItemArray, False)
Next
dgv.DataSource.Clear()
dgv.DataSource = dt.Copy
dt = Nothing
EndSub
باز هم اگر سئوالي بود در خدمت هستم
نقل قول: جستجو و جابه جایی سطر ها در datagrideview
خیلی ممنون ، مشکلم حل شد .
فقط یه مشکل کوچیک ، سطر ها deselct میشن و مشخص نیست چه سطر هایی جزء جستجو بودن .
نقل قول: جستجو و جابه جایی سطر ها در datagrideview
سطرهايي را كه select مي كني رنگشونو عوض كن
dgv.DefaultCellStyle.SelectionBackColor = Color.LightGray
dgv.DefaultCellStyle.SelectionForeColor = Color.Black
نقل قول: جستجو و جابه جایی سطر ها در datagrideview
سلام ،
باز هم مزاحم شدم :لبخند:
من یه مشکله دیگه هم دارم ، توی DGV چند تا cuolemn دیگه هم دارم که از یکی از نوع چک باکس و یکی از نوع تکس باکس و یکی از نوع کامبو باکس هستش ، که مقادیرشو خود کاربر وارد میکنه ، وقتی که سطری جا به جا میشه اون کالمن ها مقدار فعلیشونو از دست میدن . :ناراحت:
اگه میشه مثل همیشه لطف کنید و کمکم کنید .
پیشاپیش ممنون .