الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مساعدة في داتا جريد فيو

بدأه ابو رفيق في 27 يناير 2013 · 15 رد · 3,462 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لسلام عليكم ورحمة الله وبركاته
أرجوا أن يساعدني الأخوة الأفاضل في تحويل هذ الكود
أولا أنا مبتدئ في vb.net وكنت أعمل على vb6 وكنت أستخدم الأسلوب التالي في استدعاء البيانات وعرضها من داتا جريد وكان ذلك يعطيني حرية التحكم برمجيا في شكل الداتا جريد من حيث اختيار عدد الأعمدة التي أريد اظهرها  وإخفائها وعرض كل عمود واسم رأس العمود وهكذا وكان هذا هو الكود
 

 

 

On Error Resume Next
VIEW.Close  
SQL = "select * FROM [a_catgory_name] order by q_now "
VIEW.Open SQL, DB, adOpenStatic, 
adLockReadOnly    
Flex1.Clear  
Flex1.ColWidth(0)= 1100 
Flex1.ColWidth(1) = 4040 
Flex1.ColWidth(2) = 1200 
Flex1.ColWidth(3) = 900 
Flex1.ColWidth(4) = 0 
Flex1.ColWidth(5) = 2800   

Flex1.TextMatrix(0, 0) = "رقم الصنف"
Flex1.TextMatrix(0, 1) = "اسم الصف"
Flex1.TextMatrix(0, 2) = "الكمية الحالية"
Flex1.TextMatrix(0, 3) = "سعر البيع"
Flex1.TextMatrix(0, 4) = "باركد الصنف"
Flex1.TextMatrix(0, 5) = "وحدة البيع"

Flex1.ColAlignment(0) = 3 
Flex1.ColAlignment(1) = 3 
Flex1.ColAlignment(2) = 
3 Flex1.ColAlignment(3) = 3 
Flex1.ColAlignment(4) = 0 
Flex1.ColAlignment(5) = 3 

Dim i As Integer 
i = 0  
Flex1.Rows = 1     
Do Until VIEW.EOF 
    i = i + 1     
Flex1.Rows = i + 1     
Flex1.TextMatrix(i, 0) = VIEW.Fields("catgory_id")
Flex1.TextMatrix(i, 1) = VIEW.Fields("catgory_name") 
Flex1.TextMatrix(i, 2) = VIEW.Fields("q_now")            
Flex1.Col = 2     
Flex1.Row = i 
     If Val(Flex1.Text) <= 0 Then   
     Flex1.CellBackColor = &HC0&         
Flex1.CellForeColor = &HFFFFFF 
     End 
If  Flex1.TextMatrix(i, 3) = VIEW.Fields("price_payed")      
Flex1.TextMatrix(i, 4) = VIEW.Fields("Barcode_key")
Flex1.TextMatrix(i, 5) = VIEW.Fields("unit_name")      
VIEW.MoveNext
Loop  
VIEW.Close

 

 

 

المطلوب كود مماثل بال vb.net 2012 اقدر من خلاله أستعلم من قاعدة بيانات أكسس وأضع في داتاجريد فيو أقدر أتحكم فيها برمجيا
ولكم جزيل الشكر

تم تعديل هذه المشاركة بواسطة ابو رفيق في 27 يناير 2013 في 12:14

:)  :)  :)  شكرا لكل من علمني حرفا :)  :)  :)


#2

وعليكم السلام ورحمة الله وبركاته 

 

 

 ' انشاء جمله الاتصال بقاعده البيانات حيث . هو اسم السيرفر و Northwind هو قاعده البيانات
Dim connectString As String = " Data Source=.; Initial Catalog=NorthWind; Integrated Security=True"
Dim Con As New SqlConnection(connectString)
 
        Try
           ' افتح قاعد البيانات  
           Con.Open()
           ' انشىء داتا ادابتر لتنفيذ جمله الاستعلام
            Dim da As New SqlDataAdapter("select * from Employees", Con)
            Dim dt As New DataTable
           ' حمل الجدول بنتاائج الاستعلام الذى حصلت عليه
            da.Fill(dt)
            ' اربط الجدول بالجرده
            GvFillData.DataSource = dt
 
        Catch ex As Exception
            MessageBox.Show(ex.ToString)
 
        Finally
            ' اغلق الاتصال
            Con.Close()
 
 
        End Try
1

لا اله الا انت سبحانك انى كنت من الظالمين

#3
pro2007 كتب:

وعليكم السلام ورحمة الله وبركاته 

 

 

 ' انشاء جمله الاتصال بقاعده البيانات حيث . هو اسم السيرفر و Northwind هو قاعده البيانات
Dim connectString As String = " Data Source=.; Initial Catalog=NorthWind; Integrated Security=True"
Dim Con As New SqlConnection(connectString)
 
        Try
           ' افتح قاعد البيانات  
           Con.Open()
           ' انشىء داتا ادابتر لتنفيذ جمله الاستعلام
            Dim da As New SqlDataAdapter("select * from Employees", Con)
            Dim dt As New DataTable
           ' حمل الجدول بنتاائج الاستعلام الذى حصلت عليه
            da.Fill(dt)
            ' اربط الجدول بالجرده
            GvFillData.DataSource = dt
 
        Catch ex As Exception
            MessageBox.Show(ex.ToString)
 
        Finally
            ' اغلق الاتصال
            Con.Close()
 
 
        End Try

 

 

الأخ الفاضل pro2007  تحية طيبة وأشكر لك تجاوبك

ولكن لم يكن هذا ماقصدته

فأنا قصدت اتحكم بشكل مخرجات الداتا جريد فيو برمجيا من حيث عرض عمود معين أو إخفاء آخر

ولك جزيل الشكر

:)  :)  :)  شكرا لكل من علمني حرفا :)  :)  :)


#4

السلام عليكم  ...

  1. في اعلى الـــ DatagridView  الموجودة على الفورم يوجد مؤشر صغير تضغط عليه تظهر قائمة مساعدة , تختار منها Edit Column   (ممكن عمل ذلك مباشرة من نافذة الخصائص من Columns)  ثم تضغط Add  لإضافة عمود و تحدد الخصائص التالية :
  2. Header Text  يمثل النص في أعلى العمود .
  3. width  عرض العمود .
  4. DataPropertyName  اسم العمود الذي تريد إظهار بياناته .
  5. datagridview.jpg?w=600
  6. dataGridViewImageStatusColumn-select.gif
  7. يمكن وضع الخاصية AutoGeneratedColumns  بالقيمة False  كي لا يتم إظهار كل الإعمدة في الجدول  بشكل تلقائي  للــ Grid  .. (يوضع في الكود فقط .) .
1

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#5
houssam11350_11350 كتب:

السلام عليكم  ...

  1. في اعلى الـــ DatagridView  الموجودة على الفورم يوجد مؤشر صغير تضغط عليه تظهر قائمة مساعدة , تختار منها Edit Column   (ممكن عمل ذلك مباشرة من نافذة الخصائص من Columns)  ثم تضغط Add  لإضافة عمود و تحدد الخصائص التالية :
  2. Header Text  يمثل النص في أعلى العمود .
  3. width  عرض العمود .
  4. DataPropertyName  اسم العمود الذي تريد إظهار بياناته .
  5. datagridview.jpg?w=600
  6. dataGridViewImageStatusColumn-select.gif
  7. يمكن وضع الخاصية AutoGeneratedColumns  بالقيمة False  كي لا يتم إظهار كل الإعمدة في الجدول  بشكل تلقائي  للــ Grid  .. (يوضع في الكود فقط .) .

 

الأخ houssam11350_11350  شكرا جزيلا على التوضيح وإن شاء الله جاري تجربة ماعرضته وإن شاء الله يظبط

واسمح لي لو أكثرت من الأسئلة

:)  :)  :)  شكرا لكل من علمني حرفا :)  :)  :)


#6
ابو رفيق كتب:

الأخ houssam11350_11350  شكرا جزيلا على التوضيح وإن شاء الله جاري تجربة ماعرضته وإن شاء الله يظبط

واسمح لي لو أكثرت من الأسئلة

 

 

قمت بكتابة الكود المرفق وظهر النتائج كما في الصورة في المرفقات

 

الصورة الأولى بعد عمل تحرير للأعمدة كما تفضلت

 

والصورة الثانية بعد تنفيذ الكود التالي

 

 

 

Private Sub Button3_Click(sender As Object, e As 
EventArgs) Handles Button3.Click
Try
' افتح قاعد البيانات
If Conn_Mdb.State = ConnectionState.Open Then 
Conn_Mdb.Close()
Conn_Mdb.Open()
' انشىء داتا ادابتر لتنفيذ جمله الاستعلام
Dim da As New OleDbDataAdapter("select * from 
[a_pass_log]", Conn_Mdb)
Dim dt As New DataTable
' حمل الجدول بنتاائج الاستعلام الذى حصلت عليه
da.Fill(dt)
' اربط الجدول بالجرده
DataGridView2.DataSource = dt
Catch ex As Exception
MessageBox.Show(ex.ToString)
Finally
End Try
' اغلق الاتصال
Conn_Mdb.Close()
End Sub

 

 

أرجوا مساعدتي في تصحيح الكود 

post-221207-0-95580900-1359389512_thumb.

post-221207-0-19731800-1359389531_thumb.

تم تعديل هذه المشاركة بواسطة ابو رفيق في 28 يناير 2013 في 19:17

:)  :)  :)  شكرا لكل من علمني حرفا :)  :)  :)


#7

الاخ ابو رفيق 

هذا الكود يتعامل مع اى عمود انت تريد ان تخفيه من الجرده شريطه انك تكون عارف كم عدد الاعمده اللى رجعه من جمله الاستعلام حتى لايحدث معك اى اخطاء

'هذا يخفى اول عنصر من الجرده

GvFillData.Columns(0).Visible = False 

 

او

 

GvFillData.Columns("اسم العمود كما فى جمله الاستعلام ").Visible = False

تم تعديل هذه المشاركة بواسطة pro2007 في 29 يناير 2013 في 00:37

1

لا اله الا انت سبحانك انى كنت من الظالمين

#8

DataGridView2.AutoGenerateColumns = false;

DataGridView2.DataSource = dt;

1

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#9
pro2007 كتب:

الاخ ابو رفيق 

هذا الكود يتعامل مع اى عمود انت تريد ان تخفيه من الجرده شريطه انك تكون عارف كم عدد الاعمده اللى رجعه من جمله الاستعلام حتى لايحدث معك اى اخطاء

'هذا يخفى اول عنصر من الجرده

GvFillData.Columns(0).Visible = False 

 

او

 

GvFillData.Columns("اسم العمود كما فى جمله الاستعلام ").Visible = False

 

 

جاري التجربة .....

houssam11350_11350 كتب:
DataGridView2.AutoGenerateColumns = false;
DataGridView2.DataSource = dt;

 

جاري التجربة .......

:)  :)  :)  شكرا لكل من علمني حرفا :)  :)  :)


#10
pro2007 كتب:

الاخ ابو رفيق 

هذا الكود يتعامل مع اى عمود انت تريد ان تخفيه من الجرده شريطه انك تكون عارف كم عدد الاعمده اللى رجعه من جمله الاستعلام حتى لايحدث معك اى اخطاء

'هذا يخفى اول عنصر من الجرده

GvFillData.Columns(0).Visible = False 

 

او

 

GvFillData.Columns("اسم العمود كما فى جمله الاستعلام ").Visible = False

 

 

الكود سليم جزاك الله خير وقدر يخفي العمود المطلوب

:)  :)  :)  شكرا لكل من علمني حرفا :)  :)  :)


#11
houssam11350_11350 كتب:
DataGridView2.AutoGenerateColumns = false;
DataGridView2.DataSource = dt;

 

اقتباس

جاري التجربة .....

:)  :)  :)  شكرا لكل من علمني حرفا :)  :)  :)


#12

السلام عليكم ...

المرفقات غير موجودة ....

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#13

آسف المرفقات موجودة الآن

 

وياريت تقيم الكود الموجود لأني مبتدأ ومش عارف إذا كنت ماشي خطأ ولا صح جزاك الله خير

Data_Base.rar

:)  :)  :)  شكرا لكل من علمني حرفا :)  :)  :)


#14

السلام عليكم ..

يجب أن تضع لكل عمود خاصية الــ DataPropertyName  بالقيمة المقابلة لاسم العمود في الجدول (مثلا الاسم الكامل يكون full_name  و هكذا .... و ليس في الخاصية name) .

المثال بحاجة للكثير من العمل ... راجع الأمثلة الموجود في المنتدى مثل (رابط) .

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#15

تم استخدام هذا الكود وظبط معايا في أوضاع كتيرة والحمد لله ولكن هناك مشكلة بسيطة وأن شاء الله ألاقي حل عند الإخوة الشباب وعند التنفيذ تظهر الداتا جريد بالشكل كما في المرفقات

أرجوا المساعدة في جعل الداتا جريد تظهر بشكل مناسب

 

 

 

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles 
Button3.Click
Try
' افتح قاعد البيانات
If Conn_Mdb.State = ConnectionState.Open Then Conn_Mdb.Close()
Conn_Mdb.Open()
' انشىء داتا ادابتر لتنفيذ جمله الاستعلام
Dim DataAdapter_Mdb As New OleDbDataAdapter("select * from [a_pass_log]", 
Conn_Mdb)
Dim DataTable_Mdb As New DataTable
' حمل الجدول بنتاائج الاستعلام الذى حصلت عليه
DataAdapter_Mdb.Fill(DataTable_Mdb)
' اربط الجدول بالجرده
' DataGridView1.AutoGenerateColumns = False
DataGridView1.DataSource = DataTable_Mdb
'DataGridView1.Columns(0).Visible = True
'DataGridView1.Columns(1).Visible = True
'DataGridView1.Columns(2).Visible = True
'DataGridView1.Columns(3).Visible = True
'DataGridView1.Columns(4).Visible = True
'DataGridView1.Columns(5).Visible = True
'DataGridView1.Columns(6).Visible = True
'DataGridView1.Columns(7).Visible = True
'DataGridView1.Columns(8).Visible = True
 
 
DataGridView1.Columns(0).Width = 0
DataGridView1.Columns(1).Width = 300
DataGridView1.Columns(2).Width = 0
DataGridView1.Columns(3).Width = 0
DataGridView1.Columns(4).Width = 0
DataGridView1.Columns(5).Width = 100
DataGridView1.Columns(6).Width = 0
DataGridView1.Columns(7).Width = 0
DataGridView1.Columns(8).Width = 0
DataGridView1.Columns(0).HeaderText = "م"
DataGridView1.Columns(1).HeaderText = "اسم المستخدم"
DataGridView1.Columns(2).HeaderText = "كلمة الدخول"
DataGridView1.Columns(3).HeaderText = "كلمة المرور"
DataGridView1.Columns(4).HeaderText = "نشاط المستخدم"
DataGridView1.Columns(5).HeaderText = "نوع الصلاحية"
DataGridView1.Columns(6).HeaderText = "البيانات"
DataGridView1.Columns(7).HeaderText = "اذن الشغل"
DataGridView1.Columns(8).HeaderText = "فاتورة خارجية"
DataGridView1.Columns(1).HeaderCell.Style.Alignment = 
DataGridViewContentAlignment.NotSet
DataGridView1.Columns(1).HeaderCell.Style.Alignment = 
DataGridViewContentAlignment.MiddleCenter
DataGridView1.Columns(5).HeaderCell.Style.Alignment = 
DataGridViewContentAlignment.MiddleCenter
 
Catch ex As Exception
MessageBox.Show(ex.ToString)
Finally
End Try
' اغلق الاتصال
Conn_Mdb.Close()
End Sub

 

post-221207-0-19835400-1359582128_thumb.

تم تعديل هذه المشاركة بواسطة ابو رفيق في 31 يناير 2013 في 00:42

:)  :)  :)  شكرا لكل من علمني حرفا :)  :)  :)


#16

تم حل المشكلة باستخدام السطور التالية

 

 

 

DataGridView1.Columns(0).Visible = False
DataGridView1.Columns(1).Visible = True
DataGridView1.Columns(2).Visible = True
DataGridView1.Columns(3).Visible = False
DataGridView1.Columns(4).Visible = False
DataGridView1.Columns(5).Visible = False
DataGridView1.Columns(6).Visible = True
DataGridView1.Columns(7).Visible = False
DataGridView1.Columns(8).Visible = False
DataGridView1.Columns(9).Visible = False

:)  :)  :)  شكرا لكل من علمني حرفا :)  :)  :)


مواضيع مشابهة