السلام عليكم
انا قمت باستخدام بديل للتسلسل التلقائي بمعني وضع عمود وهمي للترقيم وذالك لمشاكل الترقيم التليقائي بعد الحذف
الكود كان باحد المواضيع لاحد الاخوة بالمنتدي كالتالي
كود :
For Each r As DataGridViewRow In Me.DataGridView1.Rows
If Not r.IsNewRow Then r.Cells(1).Value = (r.Index + 1).ToString
Next
الكود بيترتب ويضع الارقام لترتيب الصفوف بدون مشاكل
ولكن عند الضغط علي راس العمود لترتيب التصاعدي والتنازلي بحيث عند حدوث ترتيب للاعمدة يمكن ارجاعها لاصلها بالترتيب الرقمي للعمود الجديد المضاف للترقيم
تظهر مشكلة عند الضغط اعلي العمود ولا يقوم بالترتيب والرجوع الي حالتة الارقام من 1 الي اخر رقم باخر صف مثلا اريد عند الضغط يظهر الترتيب تصاعدة وتنازلي ا
لو عاوز تلغي الترتيب التصاعدي والتنازلي في datagridview استخدم
PHP كود :
Public Sub NO_SORTORDER(ByVal DataGridView As DataGridView)
For Each DGV As DataGridViewColumn In DataGridView.Columns
DGV.SortMode = DataGridViewColumnSortMode.NotSortable
Next
End Sub
لو عاوز تخلي الترقيم التلقائي في head row في datagridview استخدم
PHP كود :
For I As Integer = 0 To DGV1.Rows.Count - 2
DGV1.Rows(I).HeaderCell.Value = (I + 1).ToString
Next
لو عاوز تستخدم اي الطرقتين في الترقيم التلقائي استخدم الحدث ده لارجاع الترقيم
PHP كود :
Private Sub DGV1_ColumnHeaderMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DGV1.ColumnHeaderMouseClick
For I As Integer = 0 To DGV1.Rows.Count - 2
DGV1.Rows(I).HeaderCell.Value = (I + 1).ToString
Next
End Sub
او
PHP كود :
Private Sub DGV1_ColumnHeaderMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DGV1.ColumnHeaderMouseClick
For Each r As DataGridViewRow In Me.DataGridView1.Rows
If Not r.IsNewRow Then r.Cells(1).Value = (r.Index + 1).ToString
Next
End Sub
(23-01-18, 01:14 PM)محمود صالح كتب : [ -> ]لو عاوز تلغي الترتيب التصاعدي والتنازلي في datagridview استخدم
PHP كود :
Public Sub NO_SORTORDER(ByVal DataGridView As DataGridView)
For Each DGV As DataGridViewColumn In DataGridView.Columns
DGV.SortMode = DataGridViewColumnSortMode.NotSortable
Next
End Sub
لو عاوز تخلي الترقيم التلقائي في head row في datagridview استخدم
PHP كود :
For I As Integer = 0 To DGV1.Rows.Count - 2
DGV1.Rows(I).HeaderCell.Value = (I + 1).ToString
Next
لو عاوز تستخدم اي الطرقتين في الترقيم التلقائي استخدم الحدث ده لارجاع الترقيم
PHP كود :
Private Sub DGV1_ColumnHeaderMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DGV1.ColumnHeaderMouseClick
For I As Integer = 0 To DGV1.Rows.Count - 2
DGV1.Rows(I).HeaderCell.Value = (I + 1).ToString
Next
End Sub
او
PHP كود :
Private Sub DGV1_ColumnHeaderMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DGV1.ColumnHeaderMouseClick
For Each r As DataGridViewRow In Me.DataGridView1.Rows
If Not r.IsNewRow Then r.Cells(1).Value = (r.Index + 1).ToString
Next
End Sub
الكود دة ظبط معايا بس بيخلي اخر صف بصفر لية مش عارف
كود :
For I As Integer = 0 To DGV1.Rows.Count - 2
DGV1.Rows(I).HeaderCell.Value = (I + 1).ToString
Next
وسع عرض headrow خليه 60 هكذا
[
attachment=16852]
انا شاكك ان الدتا جريد الى عندك فيها 10 صفوف فاخر صف ب 10 ( ظاهر 0 ولم يظهر 1 ) ولذك قم بتوسيع headrow
ياجماعة انا عايز ترقيم تلقائى نفس اللى موجود في DGV ولكن يكون في استعلام بحيث عند فتح الاستعلام يظهر عمود الترقيم للسجلات
على فكرة انا باستخدم فيجوال بيسك 2008 مع قاعدة SQL
وشكرا على اهتمامكم