منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : تغيير كود استخدام اداة Msflexgrid الى Listview
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته ,,,


اخواني هذا الكود يستخدم من اجل اظهار نتيجة انتهاء التاريخ من مشاركات الاساتذة الكرام 

عندي مشكلة وهي ان الكود يستخدم اداة MSflexgrid وانا اريد ان تكون الاداة Listview  

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


كود :
Public Sub Expexam()
Dim i As Integer


             If RS.State = 1 Then RS.Close

sql = "Select Brand as Araba" & _
                           ",PlateNo as PlateNo" & _
                           ",Model as Model" & _
                           ",Exam as Expiration" & _
                           ",iif(Exam<Date(),'RentCar Expired ' & DateDiff('d',Exam,Date()) & ' Day/s','Days Left ' & DateDiff('d',Date(),Exam) & ' Day/s') as Warning" & _
                           " From Car Where Exam<Date() or DateDiff('d',Date(),Exam)<=30 order by CarID"

RS.Open sql, CN, adOpenKeyset, adLockPessimistic

'Mdifrm.Label1.Caption = RS.RecordCount
'RS.Sort = "Expiration"



MDIFrm.MSdikat.Clear

   
       
If RS.RecordCount > 0 Then
Set MDIFrm.MSdikat.DataSource = RS


'==============================================
For i = 1 To RS.RecordCount


MDIFrm.MSdikat.Row = i

Dim t As Date
Dim a As Date
Dim r As Integer


a = Format$(Now, "dd/MM/yyyy")

t = Format$((MDIFrm.MSdikat.TextMatrix(i, 4)), "dd/mm/yyyy")


   If t < a Then
   MDIFrm.MSdikat.Col = 4
   MDIFrm.MSdikat.CellForeColor = &H1414CD
 
    MDIFrm.MSdikat.Col = 5
    MDIFrm.MSdikat.CellForeColor = vbBlue
   
   ElseIf t = a Then
   MDIFrm.MSdikat.Col = 4
 
   MDIFrm.MSdikat.CellForeColor = vbRed
    MDIFrm.MSdikat.Col = 5
    MDIFrm.MSdikat.CellForeColor = vbBlue
   ElseIf t > a Then
   MDIFrm.MSdikat.Col = 4
   MDIFrm.MSdikat.CellForeColor = &HC000&
    MDIFrm.MSdikat.Col = 5
    MDIFrm.MSdikat.CellForeColor = vbBlue

   End If


Next


'==============================================

   
   
           MDIFrm.MSdikat.ColWidth(0) = 0
           MDIFrm.MSdikat.ColWidth(1) = 1500
           MDIFrm.MSdikat.ColWidth(2) = 800
           MDIFrm.MSdikat.ColWidth(3) = 800
           MDIFrm.MSdikat.ColWidth(4) = 1000
           MDIFrm.MSdikat.ColWidth(5) = 2000
         
         
           MDIFrm.MSdikat.ColAlignment(0) = 3
           MDIFrm.MSdikat.ColAlignment(1) = 3
           MDIFrm.MSdikat.ColAlignment(2) = 3
           MDIFrm.MSdikat.ColAlignment(3) = 3
           MDIFrm.MSdikat.ColAlignment(4) = 3
           MDIFrm.MSdikat.ColAlignment(5) = 3
           
           
           MDIFrm.MSdikat.ColAlignmentFixed(0) = 3
           MDIFrm.MSdikat.ColAlignmentFixed(1) = 3
           MDIFrm.MSdikat.ColAlignmentFixed(2) = 3
           MDIFrm.MSdikat.ColAlignmentFixed(3) = 3
           MDIFrm.MSdikat.ColAlignmentFixed(4) = 3
           MDIFrm.MSdikat.ColAlignmentFixed(5) = 3
     
 MDIFrm.Show

 
  Else
  MDIFrm.MSdikat.Clear


  End If

End Sub
(26-10-19, 01:12 PM)hannileo كتب : [ -> ]السلام عليكم ورحمة الله وبركاته ,,,


اخواني هذا الكود يستخدم من اجل اظهار نتيجة انتهاء التاريخ من مشاركات الاساتذة الكرام 

عندي مشكلة وهي ان الكود يستخدم اداة MSflexgrid وانا اريد ان تكون الاداة Listview  

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


كود :
Public Sub Expexam()
Dim i As Integer


             If RS.State = 1 Then RS.Close

sql = "Select Brand as Araba" & _
                           ",PlateNo as PlateNo" & _
                           ",Model as Model" & _
                           ",Exam as Expiration" & _
                           ",iif(Exam<Date(),'RentCar Expired ' & DateDiff('d',Exam,Date()) & ' Day/s','Days Left ' & DateDiff('d',Date(),Exam) & ' Day/s') as Warning" & _
                           " From Car Where Exam<Date() or DateDiff('d',Date(),Exam)<=30 order by CarID"

RS.Open sql, CN, adOpenKeyset, adLockPessimistic

'Mdifrm.Label1.Caption = RS.RecordCount
'RS.Sort = "Expiration"



MDIFrm.MSdikat.Clear

   
       
If RS.RecordCount > 0 Then
Set MDIFrm.MSdikat.DataSource = RS


'==============================================
For i = 1 To RS.RecordCount


MDIFrm.MSdikat.Row = i

Dim t As Date
Dim a As Date
Dim r As Integer


a = Format$(Now, "dd/MM/yyyy")

t = Format$((MDIFrm.MSdikat.TextMatrix(i, 4)), "dd/mm/yyyy")


   If t < a Then
   MDIFrm.MSdikat.Col = 4
   MDIFrm.MSdikat.CellForeColor = &H1414CD
 
    MDIFrm.MSdikat.Col = 5
    MDIFrm.MSdikat.CellForeColor = vbBlue
   
   ElseIf t = a Then
   MDIFrm.MSdikat.Col = 4
 
   MDIFrm.MSdikat.CellForeColor = vbRed
    MDIFrm.MSdikat.Col = 5
    MDIFrm.MSdikat.CellForeColor = vbBlue
   ElseIf t > a Then
   MDIFrm.MSdikat.Col = 4
   MDIFrm.MSdikat.CellForeColor = &HC000&
    MDIFrm.MSdikat.Col = 5
    MDIFrm.MSdikat.CellForeColor = vbBlue

   End If


Next


'==============================================

   
   
           MDIFrm.MSdikat.ColWidth(0) = 0
           MDIFrm.MSdikat.ColWidth(1) = 1500
           MDIFrm.MSdikat.ColWidth(2) = 800
           MDIFrm.MSdikat.ColWidth(3) = 800
           MDIFrm.MSdikat.ColWidth(4) = 1000
           MDIFrm.MSdikat.ColWidth(5) = 2000
         
         
           MDIFrm.MSdikat.ColAlignment(0) = 3
           MDIFrm.MSdikat.ColAlignment(1) = 3
           MDIFrm.MSdikat.ColAlignment(2) = 3
           MDIFrm.MSdikat.ColAlignment(3) = 3
           MDIFrm.MSdikat.ColAlignment(4) = 3
           MDIFrm.MSdikat.ColAlignment(5) = 3
           
           
           MDIFrm.MSdikat.ColAlignmentFixed(0) = 3
           MDIFrm.MSdikat.ColAlignmentFixed(1) = 3
           MDIFrm.MSdikat.ColAlignmentFixed(2) = 3
           MDIFrm.MSdikat.ColAlignmentFixed(3) = 3
           MDIFrm.MSdikat.ColAlignmentFixed(4) = 3
           MDIFrm.MSdikat.ColAlignmentFixed(5) = 3
     
 MDIFrm.Show

 
  Else
  MDIFrm.MSdikat.Clear


  End If

End Sub



يااخوان لايوجد رد !!!
وعليكم السلام ورحمة الله وبركاته

أهلا بك أخي الكريم , أخي أرفق مثال يوضح المشكلة أو المطلوب لتسهيل التعديل ولتفهم طريقة التعديل بشكل أفضل , بالتوفيق .
(27-10-19, 10:30 PM)Ahmed_Mansoor كتب : [ -> ]وعليكم السلام ورحمة الله وبركاته

أهلا بك أخي الكريم , أخي أرفق مثال يوضح المشكلة أو المطلوب لتسهيل التعديل ولتفهم طريقة التعديل بشكل أفضل , بالتوفيق .



السلام عليكم استاذ احمد



المشكلة فقط اريد تغيير من اداة Flexgrid  الى اداة  listview 

تم اضافة مثال بالمرفق وشكرا لك
وعليكم السلام ورحمة الله وبركاته

أهلا بك أخي الكريم , إذا واجهتك رسالة خطأ عند تشغيل المثال قم بحذف أداة الليست فيو التي وضعتها على الفورم وضع أداة ليست فيو جديدة بدلها ثم شغل المثال , بالتوفيق .
(29-10-19, 12:06 AM)Ahmed_Mansoor كتب : [ -> ]وعليكم السلام ورحمة الله وبركاته

أهلا بك أخي الكريم , إذا واجهتك رسالة خطأ عند تشغيل المثال قم بحذف أداة الليست فيو التي وضعتها على الفورم وضع أداة ليست فيو جديدة بدلها ثم شغل المثال , بالتوفيق .


اشكرك استاذ احمد ابداع كالعادة 
بارك الله بك وبجهودك
أهلا بك أخي الكريم , اللهم آمين وإياك , شكراً جزيلاً لك وجزاك الله كل خير وأرجو من الله لك دوام التوفيق والنجاح .