منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] تغيير محتوى listbox - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] تغيير محتوى listbox (/showthread.php?tid=16593)

الصفحات: 1 2 3 4


RE: تغيير محتوى listbox - Incubus - 29-07-16

اخواني اشكركم للافكار الرائعه ولي سؤال
اريد ان اضع مجموعه متغيرات من جدول واحد في قاعده بيانات في ليست بوكس على ان تكون المتغيرات في سطر واحد مع اضافه نصوص الى السطر بالاضافه لوجود قيمه مرجعيه للسطر ماخوذه من نفس الجدول في قاعده البيانات
مثال


PHP كود :
listbox1.item.add("Mr/s:" DS.tables("users").rows(0).item("first_name") & " " DS.tables(users").rows(0).item("last_name"))
listbox1.valuemember =ds.tables("
users").rows(0).item("id") 

قمت بتجربه الكود ولكن يوجد خطاء الرجاء افادتنا
وشكرا


RE: تغيير محتوى listbox - الوادي - 29-07-16

Incubus

استدعي هذه الدالة FillListBoxDataSource
PHP كود :
Private Sub FillListBoxDataSource()
    
Dim sql As String _
        
"SELECT [id], " _
        
"       ([first_name]+' '+[last_name]) AS [full_name] " _
        
"FROM   [table1] "

    
Using da As New OleDb.OleDbDataAdapter(sqlcnn)
        
Dim dt As New DataTable
        da
.Fill(dt)
        
Me.ListBox1.DisplayMember "full_name"
        
Me.ListBox1.ValueMember "id"
        
Me.ListBox1.DataSource dt
        Me
.ListBox1.SelectedIndex = -1
    End Using
End Sub 



RE: تغيير محتوى listbox - Incubus - 29-07-16

(29-07-16, 05:25 AM)الوادي كتب : Incubus

استدعي هذه الدالة FillListBoxDataSource
PHP كود :
Private Sub FillListBoxDataSource()
 
   Dim sql As String _
        
"SELECT [id], " _
        
"       ([first_name]+' '+[last_name]) AS [full_name] " _
        
"FROM   [table1] "

 
   Using da As New OleDb.OleDbDataAdapter(sqlcnn)
 
       Dim dt As New DataTable
        da
.Fill(dt)
 
       Me.ListBox1.DisplayMember "full_name"
 
       Me.ListBox1.ValueMember "id"
 
       Me.ListBox1.DataSource dt
        Me
.ListBox1.SelectedIndex = -1
    End Using
End Sub 

واذا اردت وضع بعض الكلامات التعريفيه بينهم مثلا : (محمد) بن (سيد) ؟؟ هذا ما اريده بالضبط
ودمت سالما


RE: تغيير محتوى listbox - الوادي - 29-07-16

حيكون التغيير في نص sql كالتالي
PHP كود :
Dim sql As String _
    
"SELECT [id], " _
    
"       ([first_name]+' بن '+[last_name]) AS [full_name] " _
    
"FROM   [table1] " 

وإذا فيه عمود يحدد النوع (ذكر،أنثى) ممكن نستخدم الشرط IIF في نص sql أيضاً كالتالي (حيث الحقل gender نوع رقمي وفيه: ذكر=1، أنثى=2)
PHP كود :
Dim sql As String _
    
"SELECT [id], " _
    
"       ([first_name]+IIF([gender]=1,' بن ',' بنت ')+[last_name]) AS [full_name] " _
    
"FROM   [table1] " 



RE: تغيير محتوى listbox - Incubus - 29-07-16

جزاك الله خيرا وجاري التجربه

(29-07-16, 11:50 PM)Incubus كتب : جزاك الله خيرا وجاري التجربه

تمت التجربه واعتقد انها تعمل
لاني اعمل على حقول بها ارقام وباستعمال المعامل + يتم جمع الارقام اما مع المعامل & كان الناتج 0
وعندما اضيف قيم نصيه بمنتصف جمله  select   كان يعطني رساله خطاء انه لايمكن تعديل القيمه من string  الى double

فما الحل برايك؟


RE: تغيير محتوى listbox - الوادي - 30-07-16

لم أفهم (لاني اعمل على حقول بها ارقام وباستعمال المعامل + يتم جمع الارقام اما مع المعامل & كان الناتج 0)

لتحويل الرقم لنص استخدم الأمر STR مثل تحويل double الى string
PHP كود :
STR([column]) 

ولتحويل النص لرقم استخدم الأمر VAL مثل تحويل string الى double
PHP كود :
VAL([column]) 



RE: تغيير محتوى listbox - Incubus - 30-07-16

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

من الواضح اني محتاج كورس SQL  

بس اخر سؤال الله يكرمك

في حقل من ضمن الحقول عباره عن تاريخ ارقام بدون فواصل مثل 20160101 واريد لما يظهر بالليست بوكس يظهر طبيعي 2016/01/01
وكنت استخدم كود لما كنت استدعي كل حقل لوحده في جمله السيلكت بحيث يحول سلسله الارقام لتاريخ فهل يوحد ما يقابله داخل جمله السيلكت
مثال:-


PHP كود :
Dim MyString As String DS.Tables("company").Rows(0).Item("DateOfBirth")
Dim result As Date
result 
DateSerial(CInt(MyString.Substring(04)), CInt(MyString.Substring(42)), CInt(MyString.Substring(62))) 
هل يمكن مثلا استخدام :
select date([dateofbirth])

شكرا ليك مره تانيه


RE: تغيير محتوى listbox - الوادي - 30-07-16

نفس الفكرة ولكن باستخدام كلمة MID
PHP كود :
(MID([dateofbirth],1,4)+'/'+MID([dateofbirth],5,2)+'/'+MID([dateofbirth],6,2)) AS [birthdate
لاحظ أن المؤشر في MID يبدأ بواحد(1) وليس مثل Substring

وإذا أردت أن يرجع لك العمود من نوع تاريخ استخدم كلمة CDATE للناتج
PHP كود :
CDATE( (MID([dateofbirth],1,4)+'/'+MID([dateofbirth],5,2)+'/'+MID([dateofbirth],6,2)) ) AS [birthdate



RE: تغيير محتوى listbox - Incubus - 30-07-16

تمت التجربه ولكن اعطاني رساله خطاء
'mid' is not a recognized built-in function name.
انا استخدم vb.net 2012 مع system.data.sqlclient
جربت اباعد بين + و (') رجعلي خطاء في (')syntex error


RE: تغيير محتوى listbox - الوادي - 30-07-16

كل أجوبتي كانت على أساس أنك تستخدم ACCESS
مع SQLServer نستخدم SUBSTRING وليس MID مع اعتبار أن المؤشر يبدأ بواحد(1) مثل MID