منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : ممكن كود ترقيم تلقائي في الداتا غريد فيو
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
الشرح في الصورة



السلام عليكم

مع أن أسمي مش موجود في القائمة Cool لكن خذ هذا الكود ,, وراح يرقم لك رؤس الأسطر ويوفر عليك عامود مش لازم ..

PHP كود :
For Each Row As DataGridViewRow In DataGridView1.Rows
            
If Row.IsNewRow Then Continue For
            
Row.HeaderCell.Value = (Row.Index 1).ToString
        Next 
اين اضع الكود لانني مبتدأ
في حدث تحميل البيانات للجريدفيو يعني في الحدث أو الأجراء الذي يقوم بملء الجريد بالبيانات ويجب أن يكون هذا الكود أخر شيئ
يعني بعد ما تمتلئ الجريد بالببيانات ,, يأتي دور هذا الكود لترقيم السطور ... تمام ؟
لا يا اخي انا لا اقوم باستدعاء البيانات من قاعده البيانات
انا اريدها في مرحلة كتابة المعلومات في الرقم
طيب :
خذ الحدث التالى نسخ ولص فقط :

PHP كود :
Private Sub DataGridView1_RowPostPaint(ByVal sender As ObjectByVal e As System.Windows.Forms.DataGridViewRowPostPaintEventArgsHandles DataGridView1.RowPostPaint
        Dim strRowNumber 
As String = (e.RowIndex 1).ToString
        Dim size 
As SizeF e.Graphics.MeasureString(strRowNumberMe.Font)

        
DataGridView1.RowHeadersWidth 60

        Dim b 
As Brush SystemBrushes.ControlText
        e
.Graphics.DrawString(strRowNumberMe.Fontbe.RowBounds.Location.15e.RowBounds.Location.+ ((e.RowBounds.Height size.Height) / 2))
    
End Sub 
مرحبا اخي

خذ هذا الكود نسخ ولصق وحطه في اي مكان وهو لما تضيف سطر او تحذف سطر من القريد يقوم بإعادة ترتيب التسلسل

PHP كود :
Private Sub DataGridView1_RowsAdded(ByVal sender As ObjectByVal e As System.Windows.Forms.DataGridViewRowsAddedEventArgsHandles DataGridView1.RowsAdded
 
For As Integer 0 To DataGridView1.Rows.Count 1
  DataGridView1
.Rows(i).HeaderCell.Value = (1).ToString
 Next
End Sub

Private Sub DataGridView1_RowsRemoved(ByVal sender As ObjectByVal e As System.Windows.Forms.DataGridViewRowsRemovedEventArgsHandles DataGridView1.RowsRemoved
  
For As Integer 0 To DataGridView1.Rows.Count 1
    DataGridView1
.Rows(i).HeaderCell.Value = (1).ToString
  Next
End Sub 

موفق
اخوان لا يحدث اي ترقيم
up up up up up up up up up
جرب هذا
كود :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        DataGridView1.Columns(0).ReadOnly = True ' نجعل عمود الترقيم للقراءة فقط
    End Sub


    Private Sub DataGridView1_CellValidating(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellValidatingEventArgs) Handles DataGridView1.CellValidating
        If e.ColumnIndex = 1 Then ' إذا كان العمل علي عمود الرقم
            If Me.DataGridView1.IsCurrentCellDirty Then ' هل يتم العمل علي الخلية
                If e.FormattedValue <> String.Empty Then ' قيمة الخلية ليست فارغة
                    Me.DataGridView1.Rows(e.RowIndex).Cells(0).Value = e.RowIndex + 1 ' يتم إضافة ترقيم للعمود الأول وذلك عند طريق الاندكس تبع الصف بزيادة واحد
                Else
                    Me.DataGridView1.Rows(e.RowIndex).Cells(0).Value = Nothing ' إذا الخلية فارغة يتم إزالة الترقيم
                End If
            End If
        End If
    End Sub


****
***
**
*
الصفحات : 1 2