قواعد المشاركة في المنتدى

(قسم الاعلانات) الموضوع:أسرع طرق لتنظيف منزلك بعد الإفطار 0562570996 العناية بواسطة: (zena fathy) :: (قسم الاعلانات) الموضوع:نقل اثاث الامارات بواسطة: (zena fathy) :: (قسم الاعلانات) الموضوع:أفضل شركة لنقل ورفع الاثاث بالونش مع 01118144088 الهلال بواسطة: (منى الملاح) :: (قسم الاعلانات) الموضوع:شركات تنظيف فلل فى عجمان 0501816457 سما الخليج بواسطة: (منى الملاح) :: (قسم الدعم الفني) الموضوع:لماذا تحجز ليموزين مطار القاهرة الدولي من شركة إيجيل رود ليموزين؟ بواسطة: (sally saeed) :: (منتدى التصميم والجرافيكس) الموضوع:كشاف طاقة شمسية 20 ليد بواسطة: (غادة123) :: (قسم الاعلانات) الموضوع:مطبخ بى فى سى. ستيلا للمطابخ والاثاث . التوصيل والتركيب مجانا - ضمان 5 سنين 01013843894 بواسطة: (مارلين سامي) :: (قسم الاعلانات) الموضوع:دريسنج غرف النوم ، شركة فورنيدو ، المتر يبدا من 1200جنيه 01270001596 بواسطة: (مليكة سمير) :: (قسم الاعلانات) الموضوع:تركيب مظلات حدائق وسيارات وبرجولات بارخض الاسعار بالرياض 0500513512 بواسطة: (مسوق) :: (قسم الاعلانات) الموضوع:مطبخ اكريليك - تراست جروب للمطابخ والاثاث ، ضمان 5 سنين - التوصيل لاى مكان داخل مصر 01117172647 بواسطة: (marsel emad) :: (قسم الاعلانات) الموضوع:مطبخ اكليريك. ستيلا للمطابخ والاثاث . ضمان 5 سنين 01207565655 بواسطة: (مارلين سامي) :: (قسم الاعلانات) الموضوع:دريسنج روم dressing rooms، شركة فورنيدو ، عروض وخصومات كتير مستنياك 01270001597 بواسطة: (مليكة سمير) :: (قسم الاعلانات) الموضوع:صيانة جمس بواسطة: (elnawasany) :: (قسم الاعلانات) الموضوع:مطبخ بولى لاك. ستيلا للمطابخ والاثاث . يمكنك شراء المطبخ من خلال الواتساب 01013843894 بواسطة: (مارلين سامي) :: (قسم الاعلانات) الموضوع:مطبخ hpl - تراست جروب للمطابخ والاثاث ، النقل والتركيب مجانا 01210044703 بواسطة: (marsel emad) :: (قسم الاعلانات) الموضوع:غرف dressing ، شركة فورنيدو ، المتر يبدا من 1200جنيه 01270001596 بواسطة: (مليكة سمير) :: (قسم الاعلانات) الموضوع:تركيب مظلات حدائق وقرميد وشبوك بارخص الاسعار بالرياض 0551113590 بواسطة: (مسوق) :: (قسم الاعلانات) الموضوع:مطبخ لامى جلوس. ستيلا للمطابخ والاثاث التوصيل والتركيب مجانا - ضمان 5 سنين 01013843894 بواسطة: (مارلين سامي) :: (قسم الاعلانات) الموضوع:أسعار دواليب غرف نوم ، شركة فورنيدو ، ضمان 5 سنين ، التوصيل لاى مكان داخل مصر 01270001597 بواسطة: (مليكة سمير) :: (قسم الاعلانات) الموضوع:مطبخ pvc - تراست جروب للمطابخ والاثاث ، ضمان 5 سنين - التوصيل لاى مكان داخل مصر 01117172647 بواسطة: (marsel emad)

المواضيع المثبته: (منتدى Microsoft Excel) الموضوع:معلومات سريعة من برنامج اكسل بواسطة: (junkbki) :: (منتدى مبرمجي Microsoft Visual C#.NET) الموضوع:موقع جيد به Tutorials و مشاريع مفتوحة المصدر بواسطة: (يوسف) :: (منتدى Microsoft Visual Basic) الموضوع:Home Administrator Project بواسطة: (zoubicom) :: (منتدى برمجة الألعاب) الموضوع:برنامج رائع لتصميم الألعاب بواسطة: (mjxp) :: (منتدى تحليل و تصميم نظم المعلومات) الموضوع:تحليل كامل لبرنامج حسابات بواسطة: (الشجرة الطيبة) :: (منتدى التصميم والجرافيكس) الموضوع:سلسلة دروس الفلاش بواسطة: (مبرمجة فلسطينية) :: (القسم المفتوح) الموضوع:إلا رسول الله صلى الله عليه وسلم بواسطة: (alanees) :: (منتدى Microsoft SQL Server) الموضوع:مراحل تصميم قاعدة بيانات ناجحة بواسطة: (m.atassi) :: (منتدى Microsoft SQL Server) الموضوع:تابعوا دروس sql2000 بواسطة: (dody) :: (منتدى الكتب الالكترونية) الموضوع:مجموعة كبيرة من السرفرات بواسطة: (يوسف) :: (منتدى الكتب الالكترونية) الموضوع:كتاب لبرامج مصممة بالفيجوال مع أكوادها (الجزء الثاني) بواسطة: (First Star) :: (Oracle قسم قواعد البيانات أوراكل) الموضوع:كتب اوراكل (عربي) ...حمل... بواسطة: (عبد الرحمن) :: (قسم التعاميم والشكاوي) الموضوع:هنيئا للشعب المصري بواسطة: (صهيب جاويش) :: (منتدى مبرمجي ASP.NET) الموضوع:Visual Web Developer 2010 Express بواسطة: (يوسف جميل جادالله) :: (منتدى تحليل و تصميم نظم المعلومات) الموضوع:تعلم كيفية رسم Data Flow Diagram -DFD للنظام بواسطة: (jbsa) :: (منتدى البرامج) الموضوع:شروحات لبرامجك المفضلة بواسطة: (junkbki) :: (منتدى أجاكس(Asynchronous JavaScript and XML)) الموضوع:تقسيم النتائج لعدة صفحات مع 3 لغات برمجة ويب بواسطة: (عبدالله جابر شقليه) :: (منتدى Microsoft Visual Basic) الموضوع:أكبر مشاركة فيجوال بيسك بواسطة: (SkyLight) :: (منتدى ADO.NET العام) الموضوع:ربط قاعدة البيانات والفرق بين الوضع المتصل والوضع المنفصل وشرحها بالتفصيل بواسطة: (علاء عبدالخالق) :: (منتدى مبرمجي Microsoft Visual C#.NET) الموضوع:مكتبة الأمثلة والتطبيقات للغة #C بواسطة: (النور)

عدد الصفحات : 3  1  2  3   > » إضافة رد إضافة موضوع جديد

> درس في عمل Class لاضافة ComboBox في DataGrid,كيفيه اضافة combobox في DataGrid
Bookmark and Share
تقييم الموضوع Label معدل التقيم:0
مشاركةالخميس,12/فر/1428 هـ,02:48 صباحاً
المشاركة #1

خبيرتحليل نظم و دوت نت
الرتبة في المنتدى:عماد

أيقونة المجموعة

المجموعة: مشرفي الموقع
المشاركات: 3847
سجل في:الأحد,17/محرم/1428 هـ,05:57 صباحاً
الدولة:الأردن
رقم العضوية: 19244



بسم الله الرحمن الرحيم

درس في عمل Class لاضافة ComboBox في DataGrid
كيف نضيف combobox في DataGrid

VB.Net 2005



كيف يمكن لنا اضافة ComboBox في DataGrid لا يمكن اضافتها الا عن طريق DataGridColumnStyle
ولكن لا يوجد في DataGridColumnStyle تعريف لعامود يكون ComboBox ولهذا السبب نستطيع عمل
كلاس Inherits DataGridColumnStyle

لنبدأ الخطوات

أولا : علينا ان نقوم بعمل Class ل ComboBox لاستخدامه في GridStyle ونسميه كما نرغب
 كود


Imports System.Drawing
Imports System.ComponentModel
Imports System.Security.Permissions

Public Class CustomComboBox
Inherits ComboBox

<SecurityPermissionAttribute( _
SecurityAction.LinkDemand, Flags:=SecurityPermissionFlag.UnmanagedCode)> _
Protected Overrides Function ProcessKeyMessage(ByRef m As Message) As Boolean
' هذه الجملة تجعل جميع الاوامر في ComboBox تعمل.
Return ProcessKeyEventArgs(m)
End Function
End Class


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

ثانيا : نقوم بتعريف Class للتغير في خلية DataGrid حتى نستطيع اضافة ComboBox فيها
ونسميه كما نرغب ويكون بنفس الصفحة لل Class في النقطة الاولى
 كود

Public Class DataGridComboBoxColumn
Inherits DataGridColumnStyle

'هنا عرفنا Combo على انه Public لاننا نريد استخدامه في ال Class وفي الفورم الاساسي
'وعرفناه حسب اسم Class الذي قمنا في عملة بالنقطة الاولى

Public customComboBox1 As New CustomComboBox()

Private isEditing As Boolean

'هنا سنضيف الاجراءات والاحداث

End Class


ثالثا : سنضيف Combo الى الخلية على اساس انه Control ونضع هذا الاجراء في Class الذي قمنا
بعملة بالخطوه الثانية

 كود

Protected Overrides Sub SetDataGridInColumn(ByVal value As DataGrid)
MyBase.SetDataGridInColumn(value)
If Not (customComboBox1.Parent Is Nothing) Then
customComboBox1.Parent.Controls.Remove(customComboBox1)
End If
If Not (value Is Nothing) Then
value.Controls.Add(customComboBox1)
End If
End Sub


رابعا: نقوم بوضع حدث لاخفاء Combo الذي قمنا باضافته حتى لا يظهر فوق DataGrid

 كود

Public Sub New()
customComboBox1.Visible = False
End Sub


خامسا : الان سنضع حدث ليقوم بتنفيذه عند استخدام Combo سواء بالضغط علية بالموس
او بالتاب ويقوم بتنفيذ حدث الدخول لل Combo في النقطة السادسة

 كود

Private Sub ComboBoxTextChanged(ByVal sender As Object, ByVal e As EventArgs)

RemoveHandler customComboBox1.SelectionChangeCommitted, AddressOf ComboBoxTextChanged
Me.isEditing = True
MyBase.ColumnStartedEditing(customComboBox1)

End Sub


سادسا : هذا الحدث سيدخل لل Combo واسناد قيمة الخلية في DataGrid اليه وعمل Select لها اذا
لم تكن فارغه

 كود

Protected Overloads Overrides Sub Edit(ByVal [source] As CurrencyManager, _
ByVal rowNum As Integer, _
ByVal bounds As Rectangle, _
ByVal [readOnly] As Boolean, _
ByVal displayText As String, _
ByVal cellIsVisible As Boolean)

'هنا نعمل Function حتى نعرف هل الخلية فارغة ام لا في النقطه السابعة
Dim value As String = GetText(GetColumnValueAtRow([source], rowNum))

If cellIsVisible Then
customComboBox1.Bounds = New Rectangle _
(bounds.X + 2, bounds.Y + 2, bounds.Width - 4, bounds.Height - 4)
customComboBox1.Text = value
customComboBox1.Visible = True
AddHandler customComboBox1.SelectionChangeCommitted, AddressOf ComboBoxTextChanged
Else
customComboBox1.Text = value
customComboBox1.Visible = False
End If

If customComboBox1.Visible Then
DataGridTableStyle.DataGrid.Invalidate(bounds)
End If
customComboBox1.SelectedIndex = customComboBox1.FindStringExact(value)
customComboBox1.Text = value
customComboBox1.Focus()
End Sub


سابعا : عمل Function حتى لا نسند قيمه Null
 كود


Private Function GetText(ByVal val As Object) As String
If Not IsDBNull(val) Then
Return val.ToString()
Else
Return String.Empty
End If
End Function


ثامنا : سنقوم بعمل عدة Function سنستخدمهم في النقاط التالية وهي لتحديد حجم الخلية المناسب حسب
حجم ال Combo ولاعادة رسم الخليه بعد اخفاء ال Combo
 كود

' هنا نحدد حجم الكمبو المناسب
Protected Overrides Function GetPreferredSize(ByVal g As Graphics, ByVal value As Object) As Size
Return New Size(100, customComboBox1.PreferredHeight + 4)
End Function
' هنا نحدد اقل ارتفاع للكمبو
Protected Overrides Function GetMinimumHeight() As Integer
Return customComboBox1.PreferredHeight + 4
End Function
' هنا نحدد ارتفاع الكمبو المناسب
Protected Overrides Function GetPreferredHeight(ByVal g As Graphics, ByVal value As Object) As Integer
Return customComboBox1.PreferredHeight + 4
End Function
' هنا لرسم الخليه في DataGrid
Protected Overloads Overrides Sub Paint(ByVal g As Graphics, ByVal bounds As Rectangle, _
ByVal [source] As CurrencyManager, ByVal rowNum As Integer)

Paint(g, bounds, [source], rowNum, False)
End Sub
' هنا لرسم الخليه في DataGrid وهو نفس السابق فقط حددنا اضفنا متغيرات اخرى
Protected Overloads Overrides Sub Paint(ByVal g As Graphics, _
ByVal bounds As Rectangle, ByVal [source] As CurrencyManager, _
ByVal rowNum As Integer, ByVal alignToRight As Boolean)

Paint(g, bounds, [source], rowNum, Brushes.Red, _
Brushes.Blue, alignToRight)
End Sub


تاسعا : الان نقوم بتثبيت التغيير والخروج من الخليه واعادة رسمها

 كود

' هنا نثبت التغيير الحاصل
Protected Overrides Function Commit(ByVal dataSource As CurrencyManager, ByVal rowNum As Integer) As Boolean
customComboBox1.Bounds = Rectangle.Empty
RemoveHandler customComboBox1.SelectionChangeCommitted, AddressOf ComboBoxTextChanged
If Not isEditing Then
Return True
End If
isEditing = False
Try
Dim value As String = customComboBox1.Text
SetColumnValueAtRow(dataSource, rowNum, value)
Catch
End Try
Invalidate() 'هذه الجملة تطلق حدث اعادة الرسم
Return True
End Function

' هنا يخرج من الخلية ونعيد رسمها بالشكل النهائي في الخطوه عشرة
Protected Overrides Sub Abort(ByVal rowNum As Integer)
isEditing = False
RemoveHandler customComboBox1.SelectionChangeCommitted, AddressOf ComboBoxTextChanged
Invalidate() 'هذه الجملة تطلق حدث اعادة الرسم
End Sub


عاشرا : اعادة رسم الخلية واعطاها قيمة combo التي قمنا باختيارها

 كود

' هنا لرسم لكتابة المختار من الكمبو في الخلية
Protected Overloads Overrides Sub Paint(ByVal g As Graphics, _
ByVal bounds As Rectangle, ByVal [source] As CurrencyManager, _
ByVal rowNum As Integer, ByVal backBrush As Brush, _
ByVal foreBrush As Brush, ByVal alignToRight As Boolean)

Dim txt As String = GetText(GetColumnValueAtRow([source], rowNum))
Dim rect As Rectangle = bounds
g.FillRectangle(backBrush, rect)
rect.Offset(0, 2)
rect.Height -= 2
Dim sf As New StringFormat
g.DrawString(txt, Me.DataGridTableStyle.DataGrid.Font, foreBrush, _
RectangleF.FromLTRB(rect.X, rect.Y, rect.Right, rect.Bottom))
End Sub



وهكذا نكون قد انتهينا من Class الذي يضيف ال ComboBox الى DataGrid

اما الان سنبدأ خطوات في الفورم الاساسي

نضع DataGrid على الفورم ونعمل DataSet ونسند المعلومات الى DataGrid

 كود

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'SimpleSampleDataSet.Dictionary' table. You can move, or remove it, as needed.
Me.DictionaryTableAdapter.Fill(Me.SimpleSampleDataSet.Dictionary)
'TODO: This line of code loads data into the 'SimpleSampleDataSet.CountryCapital' table. You can move, or remove it, as needed.
Me.CountryCapitalTableAdapter.Fill(Me.SimpleSampleDataSet.CountryCapital)
Me.DictionaryTableAdapter.Fill(Me.SimpleSampleDataSet.Dictionary)

AddGridStyle()
End Sub


الان الخطوة الاخيرة وهي عمل GridStyle ونضيفها لجميع ال Column التي نرغب في اظهارها في
DataGrid

 كود


Private Sub AddGridStyle()
Dim myGridStyle As DataGridTableStyle = New DataGridTableStyle()
myGridStyle.MappingName = "CountryCapital"

Dim IDColumnStyle As DataGridTextBoxColumn = New DataGridTextBoxColumn()
IDColumnStyle.MappingName = "ID"
IDColumnStyle.HeaderText = "ID"
myGridStyle.GridColumnStyles.Add(IDColumnStyle)

Dim CountryColumnStyle As DataGridTextBoxColumn = New DataGridTextBoxColumn()
CountryColumnStyle.MappingName = "Country"
CountryColumnStyle.HeaderText = "Country"
myGridStyle.GridColumnStyles.Add(CountryColumnStyle)


Dim customcombobox1ColumnStyle As DataGridComboBoxColumn = New DataGridComboBoxColumn()
With customcombobox1ColumnStyle
.customComboBox1.DataSource = Me.SimpleSampleDataSet.Dictionary.DefaultView
.customComboBox1.DisplayMember = "Capital"
.customComboBox1.ValueMember = ("Capital")
.MappingName = "Capital"
.HeaderText = "Capital"
.Width = 150
.customComboBox1.BackColor = Color.Beige
End With
myGridStyle.GridColumnStyles.Add(customcombobox1ColumnStyle)

MyGrid.TableStyles.Add(myGridStyle)
End Sub


وهكذا نكون قد انتهينا من العمل قم بعمل تشغيل وستعطيك النتيجة كما في الشكل الظاهر امامك

" target="_blank" href="http://www.arabmoheet.net/forum/Members_Upload_Pics/19244/Capture.jpg[/IMG]" target="_blank">http://www.arabmoheet.net/forum/Members_Upload_Pics/19244/Capture.jpg[/IMG]

ارجوا ان يكون الشرح واضح وعذرا على الاطاله (لانه هذه اول مره اكتب فيها درس)
واي استفسار او اقتراحات او اخطاء ارجوا ذكرها حتى نعمل سوياً على حلها ليستفيد جميع الاعضاء باذن الله.

مرفق ملف Database


تحياتي للجميع





الملفات المرفقة
 SimpleSample.rar ( 15.99ك ) عدد مرات التنزيل: 2679
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالخميس,12/فر/1428 هـ,03:21 صباحاً
المشاركة #2

مشرف سابق لمنتدى VB.NET ADO.NET
الرتبة في المنتدى:لواء

أيقونة المجموعة

المجموعة: المشرفين القدامى
المشاركات: 1592
سجل في:الثلاثاء,26/شعبان/1427 هـ,09:40 صباحاً
الدولة:الأردن
رقم العضوية: 13584



ممتاز اخي الغالي بجد انا كنت دائماً ابحث على مثل هذا الكود و وجده الآن في هذا المنتدى الرائع شكراً لك
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالجمعة,13/فر/1428 هـ,07:17 صباحاً
المشاركة #3

الرتبة في المنتدى:رقيب

أيقونة المجموعة

المجموعة: الأعضاء
المشاركات: 118
سجل في:الاثنين,29/شوال/1427 هـ,05:17 مساءً
الدولة:السعودية
رقم العضوية: 15529



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


--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالأربعاء,19/جمادى الثانية/1428 هـ,10:20 صباحاً
المشاركة #4

الرتبة في المنتدى:رقيب

أيقونة المجموعة

المجموعة: الأعضاء
المشاركات: 6
سجل في:الأربعاء,19/جمادى الثانية/1428 هـ,02:30 صباحاً
الدولة:مصر
رقم العضوية: 29787



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


--------------------
سبحان الله وبحمده سبحان الله العظيم

DODY
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالأربعاء,19/جمادى الثانية/1428 هـ,10:22 صباحاً
المشاركة #5

الرتبة في المنتدى:رقيب

أيقونة المجموعة

المجموعة: الأعضاء
المشاركات: 6
سجل في:الأربعاء,19/جمادى الثانية/1428 هـ,02:30 صباحاً
الدولة:مصر
رقم العضوية: 29787



اسف وايضا هذا الكود
MyGrid.TableStyles.Add(myGridStyle)
الموجود في اخر سطر في نهاية الموضوع


--------------------
سبحان الله وبحمده سبحان الله العظيم

DODY
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالجمعة,21/جمادى الثانية/1428 هـ,12:53 مساءً
المشاركة #6

الرتبة في المنتدى:رقيب

أيقونة المجموعة

المجموعة: الأعضاء
المشاركات: 6
سجل في:الأربعاء,19/جمادى الثانية/1428 هـ,02:30 صباحاً
الدولة:مصر
رقم العضوية: 29787



يا اخ jbsa
ممكن ترد عليا انا في امس الحاجه اللي هذة المساعدة
يا مشرفين المساعدة

لو ممكن حد يشرحلنا الكود الاخير بالتفصيل خطوه خطوه


--------------------
سبحان الله وبحمده سبحان الله العظيم

DODY
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالجمعة,21/جمادى الثانية/1428 هـ,04:36 مساءً
المشاركة #7

الرتبة في المنتدى:ملازم

أيقونة المجموعة

المجموعة: الأعضاء
المشاركات: 140
سجل في:الأحد,21/شوال/1427 هـ,12:58 مساءً
الدولة:السعودية
رقم العضوية: 15051



شكراً لك ... والله يعطيك العافيه


--------------------
سبحان الله وبحمدة... سبحان الله العظيم
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالأحد,23/جمادى الثانية/1428 هـ,08:24 صباحاً
المشاركة #8

خبيرتحليل نظم و دوت نت
الرتبة في المنتدى:عماد

أيقونة المجموعة

المجموعة: مشرفي الموقع
المشاركات: 3847
سجل في:الأحد,17/محرم/1428 هـ,05:57 صباحاً
الدولة:الأردن
رقم العضوية: 19244



بسم الله الرحمن الرحيم

اخي العزيز انا شارح كيفية الربط بقاعدة البيانات في هذا الكود

 كود
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'SimpleSampleDataSet.Dictionary' table. You can move, or remove it, as needed.
Me.DictionaryTableAdapter.Fill(Me.SimpleSampleDataSet.Dictionary)
'TODO: This line of code loads data into the 'SimpleSampleDataSet.CountryCapital' table. You can move, or remove it, as needed.
Me.CountryCapitalTableAdapter.Fill(Me.SimpleSampleDataSet.CountryCapital)
Me.DictionaryTableAdapter.Fill(Me.SimpleSampleDataSet.Dictionary)

AddGridStyle()
End Sub

وهذا الكود هو لتحميل الملفات من قاعة البيانات الى dataset والتي ساقوم باستخدامها
ثم اقوم بعمل الشكل المناسب لظهار البيانات في الاجراء الاخير اي ما هي الحقول التي ارغب في اظهارها
وفي سؤالك عن هذه الجمة MyGrid.TableStyles.Add(myGridStyle)
ساشرحها داخل هذا الكود
 كود
Private Sub AddGridStyle()
هذه هي الجملة التي تسال عنها وهي ان نعرف DataGridTableStyle وهي لتحديد اسم قاعدة البيانات والحقول وجميع خصائصهم
Dim myGridStyle As DataGridTableStyle = New DataGridTableStyle()
هذه الجملة لتحديد اسم قاعدة البيانات
myGridStyle.MappingName = "CountryCapital"
هنا نعرف الحقل id الاول
Dim IDColumnStyle As DataGridTextBoxColumn = New DataGridTextBoxColumn()
هنا نحدد بعض خصائص الحقل id
IDColumnStyle.MappingName = "ID"
IDColumnStyle.HeaderText = "ID"
هنا نضيف الحقل الى grid
myGridStyle.GridColumnStyles.Add(IDColumnStyle)
هنا نعرف الحقل الثاني Country ونحدد خصائصة ونضيفة
Dim CountryColumnStyle As DataGridTextBoxColumn = New DataGridTextBoxColumn()
CountryColumnStyle.MappingName = "Country"
CountryColumnStyle.HeaderText = "Country"
myGridStyle.GridColumnStyles.Add(CountryColumnStyle)

هنا نحدد الحقل الثالث والذي نرغب بان يكون combobox
ونعرفة على انه DataGridComboBoxColumn - class الذي قمنا بعمله سابقا

Dim customcombobox1ColumnStyle As DataGridComboBoxColumn = New DataGridComboBoxColumn()
With customcombobox1ColumnStyle
هنا نحدد قاعة البيانات التي نرغب ان نضعها في combobox
.customComboBox1.DataSource = Me.SimpleSampleDataSet.Dictionary.DefaultView
هنا نحدد الحقل الذي نرغب ان نحمله في combobox ونحدد بعض الخصائص له ونضيفة الى grid
.customComboBox1.DisplayMember = "Capital"
.customComboBox1.ValueMember = ("Capital")
.MappingName = "Capital"
.HeaderText = "Capital"
.Width = 150
.customComboBox1.BackColor = Color.Beige
End With
myGridStyle.GridColumnStyles.Add(customcombobox1ColumnStyle)

هنا قمنا باضافة ما قمنا بعمله من تحديد الحقول واضافة combobox الى grid يعني اننا قمنا بتحديد الشكل الكامل لل grid الذي نرغب باظهارة
MyGrid.TableStyles.Add(myGridStyle)
End Sub

وقد تسال لماذا استخدمنا DataGridTableStyle والجواب هو ان الحقول grid هي عدة انواع منها text ومنها date ومنها combobox
وحتى نجمعها مع بعضها في grid يجب ان نستخدم TableStyle.

ارجو ان اكون قد اوضحت ما طلبت

تحياتي للجميع
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالأحد,23/جمادى الثانية/1428 هـ,05:27 مساءً
المشاركة #9

الرتبة في المنتدى:رقيب

أيقونة المجموعة

المجموعة: الأعضاء
المشاركات: 6
سجل في:الأربعاء,19/جمادى الثانية/1428 هـ,02:30 صباحاً
الدولة:مصر
رقم العضوية: 29787



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


--------------------
سبحان الله وبحمده سبحان الله العظيم

DODY
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالسبت,29/جمادى الثانية/1428 هـ,08:29 صباحاً
المشاركة #10

الرتبة في المنتدى:رقيب

أيقونة المجموعة

المجموعة: الأعضاء
المشاركات: 6
سجل في:الأربعاء,19/جمادى الثانية/1428 هـ,02:30 صباحاً
الدولة:مصر
رقم العضوية: 29787



ممكن يا اخي تقولي الخطء فين في الكود ده

قم بفك ضغط المشروع علي سطح المكتب



الملفات المرفقة
 WindowsApplication1.rar ( 137.89ك ) عدد مرات التنزيل: 1763


--------------------
سبحان الله وبحمده سبحان الله العظيم

DODY
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة

    

عدد المتصفحين لهذا المنتدى «1»: (الضيوف «1» - المتخفون «0»)
الأعضاء «0»: .

عدد الصفحات : 3  1  2  3   > » إضافة رد جديد إضافة موضوع جديد



 
الوقت الأن:اليوم,10:45 مساءً بتوقيت القدس المحتلة

Powered By arabmoheet v3.1

منتديات المحيط العربي  -  راسلنا  -   أعلى
X   رسالة المنتدى
(سوف يتم اغلاق هذه النافذة بعد 2 ثانية)
X   رسالة المنتدى
(سوف يتم اغلاق هذه النافذة بعد 2 ثانية)