تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] الترقيم التلقائي
#1
السلام عليكم

اريد كود استعادة الترقيم التلقائي بعد الحذف

مع العلم اني جربت طريقة ترقيم هيدر كل صف ولكن عند الترتيب تصاعدة وتنازلي تحدث مشكلة وعند تجميد الترتيب تحدث مشكلة فطرقت الطريقة ككل 

اريد كود الترقيم التلقائي بعد حذف سجل

حاولت بالكود التالي ولكن لاشيء


كود :
 Try
           Dim cmd As New OleDb.OleDbCommand("", con)

           con.Open()
           cmd.CommandText = "ALTER TABLE purchcard_tb DROP CONSTRAINT PrimaryKey"
           cmd.ExecuteNonQuery()

           cmd.CommandText = "ALTER TABLE purchcard_tb DROP COLUMN ID_purchcard"
           cmd.ExecuteNonQuery()

           cmd.CommandText = "ALTER TABLE purchcard_tb ADD COLUMN ID_purchcard COUNTER CONSTRAINT [PrimaryKey] Primary key"
           cmd.ExecuteNonQuery()

           MsgBox(" تمت عمليةاعادة ترقيم السجلات ")
           con.Close()

       Catch

       End Try
الرد }}}
تم الشكر بواسطة:
#2
أخ محمد اسماعيل
ماذا تستفيد من الترقيم التلقائي , أو لماذا تريد عرض عامود للترقيم التلقائي؟

إذكر الفكرة , لربما ندلك على الطريق الصحيح للوصول إلى هدفك بطريقة أخرى.

ALTER TABLE purchcard_tb DROP COLUMN
ثم
ALTER TABLE purchcard_tb ADD COLUMN


خطأ فادح : ليس هكذا يتم التعامل مع الحقل الأساسي للجدول

اشرح هدفك من وراء الترقيم التلقائي وسأدلك إلى الطريق الأفضل لتطبيق الفكرة.
الرد }}}
#3
(24-01-18, 02:42 PM)عبدالله الدوسري كتب : أخ محمد اسماعيل
ماذا تستفيد من الترقيم التلقائي , أو لماذا تريد عرض عامود للترقيم التلقائي؟

إذكر الفكرة , لربما ندلك على الطريق الصحيح للوصول إلى هدفك بطريقة أخرى.

ALTER TABLE purchcard_tb DROP COLUMN
ثم
ALTER TABLE purchcard_tb ADD COLUMN


خطأ فادح : ليس هكذا يتم التعامل مع الحقل الأساسي للجدول

اشرح هدفك من وراء الترقيم التلقائي وسأدلك إلى الطريق الأفضل لتطبيق الفكرة.
مثلا

عمود ترقيم      الصنف       
1                     سمك
2                     فراخ
3                     لحوم

1- توضيح ورؤية العدد للصفوف مع العلم وجود كود كونت لعدد الصفوف والصف المختار اسفل الشبكة ولكن نظام عام يجب و جود الترتيب

2- لو ضغط علي راس عمود لترتيب الاصناف   ورجعت ضغط تاني لاترجع الصفوف الي ماكانت علية حيث ترتب تصاعديا او تنازليا فقط علي حد علمي
طيب هرجعها تاني ازاي بنفس نظام الصفوف المتبع الحل الوحيد امامي النظر الي عمود الترقيم التلقائي واعادة ترتيبة حيث يعبر اساسا عن قيم كل صف وبالتالي رجوع قيم الاصناف الي صفوفها الطبيعية

حاولت استخدا م طريقة ترقيم الهيدر ولكن عند الضغط علي راس العمود لايظهر اساسا الترقيم او يظهر ويحدث مشكلة

حاولت اعمل عمود ترقيم رقمي عادي بالكود دة ولكن عند الضغط علي راس العمود للترتيب يظهر خطا  ما الحل امامي


كود :
For Each r As DataGridViewRow In Me.DataGridView1.Rows
           If Not r.IsNewRow Then r.Cells(1).Value = (r.Index + 1).ToString
       Next
الرد }}}
تم الشكر بواسطة:
#4
اخي محمد 
اتفضل ثلاث امثلة 
1- الترقيم في الهيدر مع اعادة الترقيم من جديد عند الضغط على التصاعدي والتنازلي
2- الترقيم في عمود خاص وعند الضغط على راس العمود يرجع ليك الترتيب التصاعدي والتنازلي
3- الترقيم في الهيدر مع الغاء الترتيب التصاعدي والتنازلي

اختر ما تشاء


الملفات المرفقة
.rar   WindowsApplication7.rar (الحجم : 85.83 ك ب / التحميلات : 90)
صلى الله على نبينا محمد
اخيكم / محمود صالح
  قال الزهري رحمه الله  
 مــا عُـــبـِد الله بشئ أفضل من العلم 
الرد }}}
تم الشكر بواسطة: عبدالله الدوسري
#5
(24-01-18, 04:45 PM)محمود صالح كتب : اخي محمد 
اتفضل ثلاث امثلة 
1- الترقيم في الهيدر مع اعادة الترقيم من جديد عند الضغط على التصاعدي والتنازلي
2- الترقيم في عمود خاص وعند الضغط على راس العمود يرجع ليك الترتيب التصاعدي والتنازلي
3- الترقيم في الهيدر مع الغاء الترتيب التصاعدي والتنازلي

اختر ما تشاء

المثال لايعمل معي

ربما تستخدم نت فريم ورك اعلي من 4

انا بشتغل بفيجوال بيسك 2010   ونت فريم ورك 4
الرد }}}
تم الشكر بواسطة:
#6
اخي صمم الدتا قريد كما في الصورة

مثال الاول
   

الكود
PHP كود :
Public Class EX_1

    Private Sub Form3_Load
(sender As ObjectAs EventArgsHandles MyBase.Load
        DGV1
.Rows.Add("احمد"500)
 
       DGV1.Rows.Add("عمر"900)
 
       DGV1.Rows.Add("محمد"1300)
 
       For I As Integer 0 To DGV1.Rows.Count 2
            DGV1
.Rows(I).HeaderCell.Value = (1).ToString
        Next
    End Sub
    Private Sub DGV1_ColumnHeaderMouseClick
(sender As ObjectAs DataGridViewCellMouseEventArgsHandles DGV1.ColumnHeaderMouseClick
        For I 
As Integer 0 To DGV1.Rows.Count 2
            DGV1
.Rows(I).HeaderCell.Value = (1).ToString
        Next
    End Sub
End 
Class 

مثال الثاني 

   
الكود
PHP كود :
Public Class EX_2

    Private Sub Form1_Load
(sender As ObjectAs EventArgsHandles MyBase.Load
        DGV1
.RowHeadersVisible False
        DGV1
.Rows.Add("""احمد"500)
 
       DGV1.Rows.Add("""عمر"900)
 
       DGV1.Rows.Add("""محمد"1300)
 
       For I As Integer 0 To DGV1.Rows.Count 2
            DGV1
.Rows(I).Cells(0).Value = (1).ToString
        Next
    End Sub

End 
Class 

مثال الثالث

   
الكود
PHP كود :
Public Class EX_3

    Private Sub Form2_Load
(sender As ObjectAs EventArgsHandles MyBase.Load
        DGV1
.Rows.Add("احمد"500)
 
       DGV1.Rows.Add("عمر"900)
 
       DGV1.Rows.Add("محمد"1300)

 
       For I As Integer 0 To DGV1.Rows.Count 2
            DGV1
.Rows(I).HeaderCell.Value = (1).ToString
        Next

        NO_SORTORDER
(DGV1)

   End Sub

    Public Sub NO_SORTORDER
(ByVal DataGridView As DataGridView)
 
       For Each DGV As DataGridViewColumn In DataGridView.Columns
            DGV
.SortMode DataGridViewColumnSortMode.NotSortable
        Next
    End Sub
End 
Class 
وجرب تشغل المثال بعد التعديل


الملفات المرفقة
.rar   WindowsApplication7.rar (الحجم : 84.58 ك ب / التحميلات : 44)
صلى الله على نبينا محمد
اخيكم / محمود صالح
  قال الزهري رحمه الله  
 مــا عُـــبـِد الله بشئ أفضل من العلم 
الرد }}}
تم الشكر بواسطة: عبدالله الدوسري
#7
(24-01-18, 09:50 PM)محمود صالح كتب : اخي صمم الدتا قريد كما في الصورة

مثال الاول


الكود
PHP كود :
Public Class EX_1

    Private Sub Form3_Load
(sender As ObjectAs EventArgsHandles MyBase.Load
        DGV1
.Rows.Add("احمد"500)
 
       DGV1.Rows.Add("عمر"900)
 
       DGV1.Rows.Add("محمد"1300)
 
       For I As Integer 0 To DGV1.Rows.Count 2
            DGV1
.Rows(I).HeaderCell.Value = (1).ToString
        Next
    End Sub
    Private Sub DGV1_ColumnHeaderMouseClick
(sender As ObjectAs DataGridViewCellMouseEventArgsHandles DGV1.ColumnHeaderMouseClick
        For I 
As Integer 0 To DGV1.Rows.Count 2
            DGV1
.Rows(I).HeaderCell.Value = (1).ToString
        Next
    End Sub
End 
Class 

مثال الثاني 


الكود
PHP كود :
Public Class EX_2

    Private Sub Form1_Load
(sender As ObjectAs EventArgsHandles MyBase.Load
        DGV1
.RowHeadersVisible False
        DGV1
.Rows.Add("""احمد"500)
 
       DGV1.Rows.Add("""عمر"900)
 
       DGV1.Rows.Add("""محمد"1300)
 
       For I As Integer 0 To DGV1.Rows.Count 2
            DGV1
.Rows(I).Cells(0).Value = (1).ToString
        Next
    End Sub

End 
Class 

مثال الثالث


الكود
PHP كود :
Public Class EX_3

    Private Sub Form2_Load
(sender As ObjectAs EventArgsHandles MyBase.Load
        DGV1
.Rows.Add("احمد"500)
 
       DGV1.Rows.Add("عمر"900)
 
       DGV1.Rows.Add("محمد"1300)

 
       For I As Integer 0 To DGV1.Rows.Count 2
            DGV1
.Rows(I).HeaderCell.Value = (1).ToString
        Next

        NO_SORTORDER
(DGV1)

   End Sub

    Public Sub NO_SORTORDER
(ByVal DataGridView As DataGridView)
 
       For Each DGV As DataGridViewColumn In DataGridView.Columns
            DGV
.SortMode DataGridViewColumnSortMode.NotSortable
        Next
    End Sub
End 
Class 
وجرب تشغل المثال بعد التعديل

انت شخص كريم جدا لصبرك وتعبك معايا وفقك اللّة لكل خير

الكود الي اشتغل معايا


كود :
 For I As Integer = 0 To DataGridView1.Rows.Count - 1
               DataGridView1.Rows(I).Cells(1).Value = (I + 1).ToString
           Next

ملاحظة علي الطريقة

1- لازم اضيف الاجراء دة في كل حدث لود للفورم وحدث البحث والحذف والاضافة
2- عند الاضافة الايدي والعنصر الجديد يكون الرقم من عمود الترقيم التلقائي بخلاف نظام الترتيب بالاجراء السابق


 عشان كدة كنت افضل الترقيم التلقائي
الرد }}}
تم الشكر بواسطة: محمود صالح , محمود صالح



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم