اخوانى المبرمجين
هو سؤال سهل لحضراتكم بش انا مبتدىء فى الدوت نت
كنت عايز اعرف ازاى اعمل كومبو بوكس و نيوميريك اب داون كى داخل خلايا الداتا جريد
وكيف اجعل الكومبو يقرأ من جدول اخر
ارجو الرد يا اخوانى المبرمجين
اخوانى المبرمجين
هو سؤال سهل لحضراتكم بش انا مبتدىء فى الدوت نت
كنت عايز اعرف ازاى اعمل كومبو بوكس و نيوميريك اب داون كى داخل خلايا الداتا جريد
وكيف اجعل الكومبو يقرأ من جدول اخر
ارجو الرد يا اخوانى المبرمجين
السلام عليكم ...
------------
أخي الكريم بالنسبة لأدخال ComboBox داخل DataGridView ومن جدول أخر هو كالتالي ...
With ClmTrdNo .DataPropertyName = "TrdNo" .HeaderText = "اسم الدواء" .Name = "ClmTrdNo" .DataSource = Me.TradeMedicineBindingSource .DisplayMember = "TrdName" .ValueMember = "TrdNo" .DisplayStyle = DataGridViewComboBoxDisplayStyle.DropDownButton .DropDownWidth = 30 .AutoComplete = True .Width = 100 .FlatStyle = FlatStyle.Flat .SortMode = DataGridViewColumnSortMode.NotSortable .DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter .AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet .ToolTipText = "يرجى أختيار إسم الدواء" .ReadOnly = False End With
وأي أيضاح بشان هذا الكود أنا مستعد لذلك ...
والسلام خير ختام
رَبِّ لَا تَذَرْنِي فَرْداً وَأَنتَ خَيْرُ الْوَارِثِينَ
شكرأ اخى فلسطينا على اهتمامك بى ولكنى اريد مزيد من التوضيح
يعنى انا لو عندى قاعدة بيانات اسمها clinic_db
والجدول اسمه medicine
والحقل اسمه sname
حيث اننى عندى خمس حقول فى الجدول اود اظهارهم فى الداتا جريد منهم الحقل sname الذى اود وضعه فى كومبو
ممكن توضحلى الكود على اساس انى اود اظهار الخمس حقول ويكون من ضمنهم الحقل sname داخل الكومبو
الحقول هى
,sname,datevisit,section_name,diagnosis,medicine
حيث انى توصلت الى هذا الكود ولكنه لم يعمل
Try
Dim StoreColumn As New DataGridViewComboBoxColumn
'Assign datagridview properties.
With db1
.DataSource = dS.Tables("medicine")
.RowHeadersWidth = 20
.RowTemplate.Height = 25
.AllowUserToDeleteRows = False
.Columns.Clear()
.Columns.AddRange( _
New System.Windows.Forms.DataGridViewColumn() { _
StoreColumn})
End With
'Assign store column properties.
With StoreColumn
.DataPropertyName = "medicine"
.HeaderText = "name"
.Name = "sname"
.Width = 150
.DataSource = dS.Tables("medicine")
.DisplayMember = "sname"
.ValueMember = "id_num"
.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing
End With
Catch ex As Exception
MsgBox(ex.Message)
End Try
ارجو الايضاح واكون شاكرا لو ارفقت مثال على هذا حيث انى مازلت مبتدىء
والى الامام يا اخ فلسطينا
ارجو المساعده يا اخوانى
أخي الكريم ...
ما هو أسمى الجدول الأخر الذي تريد أن تستدعي منه القيمة التي تريد عرضها في جدول Medicine يعني اللي بدنا نسدنها الى الخاصية DisplayMember والخاصية valueMember هي القيمة الفعلية المستخدمة الخاصية DataPropertyName تأخذ قيمة الحقل الحالية المخصصة إلى العمود الذي أنت عامل له binding يعني بتكون كالتالي ...
Private Sub CustomizeDataGridView()
Try
With DataGridView1
.DataBindings.Clear()
.AutoGenerateColumns = False
.BackgroundColor = Color.Beige
.DataSource = Me.ProductsTableAdapterBindingSource
.Columns.Clear()
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
.MultiSelect = False
.EnableHeadersVisualStyles = True
.AllowUserToAddRows = False
.AllowUserToOrderColumns = False
.AllowUserToResizeColumns = False
.AllowUserToResizeRows = False
.AutoGenerateColumns = False
.AutoSize = True
.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing
.ColumnHeadersHeight = 30
.AllowUserToDeleteRows = True
.RowsDefaultCellStyle.BackColor = Color.Bisque
.AlternatingRowsDefaultCellStyle.BackColor = Color.Beige
.DefaultCellStyle.WrapMode = DataGridViewTriState.True
' Resize the DataGridView columns to fit the newly loaded content.
.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader)
.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithoutHeaderText
'Add appropriate columns
.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {ClmProdId, ClmProdName, _
ClmSuppLierID, CategoryID, ClmQuantityPerUnit, ClmUnitPrice, ClmUnitsInStock})
End With
With ClmProdId
.DataPropertyName = "ProductId"
.HeaderText = "مسلسل"
.Visible = False
.Name = "ClmProdId"
.ReadOnly = True
End With
With ClmProdName
.DataPropertyName = "ProductName"
.HeaderText = "اسم المنتج"
.Visible = False
.Name = "ClmProdName"
.ReadOnly = False
End With
With ClmSuppLierID
.DataPropertyName = "SupplierID"
.HeaderText = "رقم المورد "
.Name = "ClmSuppLierID"
.Width = 100
.SortMode = DataGridViewColumnSortMode.NotSortable
.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet
.ReadOnly = False
End With
'لاحظ هنا
With CategoryID
.HeaderText = "التصنيف"
.Name = "ClmCategoryName"
.DataPropertyName = "CategoryID"
.DataSource = Me.CategoriesBindingSource
.DisplayMember = "CategoryName"
.ValueMember = "CategoryID"
.DisplayStyle = DataGridViewComboBoxDisplayStyle.DropDownButton
.DropDownWidth = 30
.AutoComplete = True
.Width = 100
.FlatStyle = FlatStyle.Flat
.SortMode = DataGridViewColumnSortMode.NotSortable
.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet
End With
With ClmQuantityPerUnit
.HeaderText = "الكمية "
.DataPropertyName = "QuantityPerUnit"
.Name = "ClmQuantityPerUnit"
.Width = 100
.SortMode = DataGridViewColumnSortMode.NotSortable
.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet
.ReadOnly = True
End With
With ClmUnitPrice
.HeaderText = "سعر الوحدة "
.DataPropertyName = "UnitPrice"
.Name = "ClmUnitPrice"
.Width = 100
.SortMode = DataGridViewColumnSortMode.NotSortable
.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet
.ReadOnly = True
End With
With ClmUnitsInStock
.DataPropertyName = "UnitsInStock"
.HeaderText = "الوحدات الموجودة بالمخزن"
.Name = "ClmUnitsInStock"
.Width = 100
.SortMode = DataGridViewColumnSortMode.NotSortable
.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet
.ReadOnly = False
End With
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
#End Regionوالسلام خير ختااام
رَبِّ لَا تَذَرْنِي فَرْداً وَأَنتَ خَيْرُ الْوَارِثِينَ
مجهود رائع يا اخ فلسطينا
بس البرنامج ما فتحشى معايا
يعطينى الرساله التاليه
An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
على العموم اشكرك على تعبك معايا بس انا مبتدىء فى الدوت نت وبحاول افهم
ما هى ProductsTableAdapterBindingSource
وما هى وظيفته
وما هم .DisplayMember
.ValueMember
وما هى وظيفتهم
ارجو ان لا اكون اثيقلت عليك
والى الامام يا اخ فلسطينا
السلام عليكم ....
أذهب إلى خصائص المشروع الحالي و Right Click Mouse وبعد ذلك الذهاب إلى settings ومن ثم الذهاب إلى
أعدادات المشروع الحالي حيث ستجد خانة Value الخاصة بالمشروع اضغط على Button الخاص بالاتصال مع db وغير الاسم إلى أسم جهازك
ValueMemeber القيمة الفعلية المستخدمة.
Displaymember هي القيمة التي تريد أنت أظهارها للمستخدم .
BindingSource أذهب لمحرك البحث الخاص بالموقع وستجد ان شاء الله عنه
او بامكانك تحميله من هنا
تم تعديل هذه المشاركة بواسطة فلسطيننا في 14 يناير 2007 في 11:09
رَبِّ لَا تَذَرْنِي فَرْداً وَأَنتَ خَيْرُ الْوَارِثِينَ
هذا الموضوع مغلق.