تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
سؤال في ListView
#1
السلام عليكم

انا لم اتعامل مع ListView  قبل ذلك

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

 اذا كان عندي 2 تكست بوكس الاول يحتوي علي اسم الموظف والاخر يحتوي علي مرتب الموضف ويقوم العميل بكتابتهم يدويا.

اولا : اريد عند الضغط علي زر معين يقوم بادراج اسم الموظف والمرتب في ال  ListView  

ثانيا : كيف اعمل اجمالي لصف معين في ال ListView   . مثلا اجمالي المرتبات

ثالثا : كيف احصل علي اعلي رقم في الصف. مثلا عاوز اعلي مرتب في ال ListView  

رابعا : اذا اردت ان اخفي الصف الذي يحتوي علي المرتب بحيث انه لا يظهر للعميل . فكيف ذلك

اخيرا : كيف اعمل كود الاضافه . بمعني عند الضغط علي زر الاضافه يقوم باضافة البيانات الموجود في ListView   في قاعدة بيانات من نوع اكسيس 2007



اعتذر علي كثرة الاسئله وارجو المساعده وبارك الله فيكم.
الرد }}}
تم الشكر بواسطة:
#2
بنائا على ما تطلب من المفضل الانتقال للعمل في datagridview لتوفر خيارات اكبر.

لكن ساساعدك ببعض الامور

الاضافه الى listview

PHP كود :
       Dim lvi As New ListViewItem(text_name.text)
 
       lvi.SubItems.Add(text_salary.text)
 
       ListView1.Items.Add(lvi


جمع عمود الرواتب

PHP كود :
   Public Function GetSubTotal() As Decimal

       Dim TotalValue 
As Decimal
        Dim tmp 
As Decimal

     arrays 
and collections start at index(0not (1)
 
   OP code would skip the first item 
       For n 
As Integer 0 To ListView1.Items.Count 1

 If Decimal
.TryParse(ListView1.Items(n).SubItems(1).TexttmpThen
            TotalValue 
+= tmp
      End 
If
 
     Next

     Return TotalValue
   End 
Function 
اظهار اعلى مرتب

PHP كود :
Dim max listView1.Items.Cast(Of ListViewItem)().Max(Function(xInteger.Parse(x.SubItems(1).Text)) 
الاضافة لقاعدة البيانات
PHP كود :
       For i As Integer 0 To ListView1.Items.Count 1
            If Conn
.State ConnectionState.Closed Then
                Conn
.Open()
 
           End If
 
           Dim cmd As New OleDb.OleDbCommand
            cmd
.Connection Conn
            cmd
.CommandType CommandType.Text
            cmd
.CommandText "INSERT INTO your_table (e_name, e_salary) VALUES (@e_name, @e_salary)"
 
           cmd.Parameters.AddWithValue("@e_name"ListView1.Items(i).SubItems(0).Text)
 
           cmd.Parameters.AddWithValue("@e_salary"ListView1.Items(i).SubItems(1).Text)
 
           cmd.ExecuteScalar()
 
           Conn.Close()
 
       Next 
الرد }}}
#3
(21-11-18, 06:06 PM)Rabeea Qbaha كتب : بنائا على ما تطلب من المفضل الانتقال للعمل في datagridview لتوفر خيارات اكبر.

لكن ساساعدك ببعض الامور

الاضافه الى listview

PHP كود :
       Dim lvi As New ListViewItem(text_name.text)
 
       lvi.SubItems.Add(text_salary.text)
 
       ListView1.Items.Add(lvi


جمع عمود الرواتب

PHP كود :
   Public Function GetSubTotal() As Decimal

       Dim TotalValue 
As Decimal
        Dim tmp 
As Decimal

     arrays 
and collections start at index(0not (1)
 
   OP code would skip the first item 
       For n 
As Integer 0 To ListView1.Items.Count 1

 If Decimal
.TryParse(ListView1.Items(n).SubItems(1).TexttmpThen
            TotalValue 
+= tmp
      End 
If
 
     Next

     Return TotalValue
   End 
Function 
اظهار اعلى مرتب

PHP كود :
Dim max listView1.Items.Cast(Of ListViewItem)().Max(Function(xInteger.Parse(x.SubItems(1).Text)) 
الاضافة لقاعدة البيانات
PHP كود :
       For i As Integer 0 To ListView1.Items.Count 1
            If Conn
.State ConnectionState.Closed Then
                Conn
.Open()
 
           End If
 
           Dim cmd As New OleDb.OleDbCommand
            cmd
.Connection Conn
            cmd
.CommandType CommandType.Text
            cmd
.CommandText "INSERT INTO your_table (e_name, e_salary) VALUES (@e_name, @e_salary)"
 
           cmd.Parameters.AddWithValue("@e_name"ListView1.Items(i).SubItems(0).Text)
 
           cmd.Parameters.AddWithValue("@e_salary"ListView1.Items(i).SubItems(1).Text)
 
           cmd.ExecuteScalar()
 
           Conn.Close()
 
       Next 


بارك الله فيك اخي [b]Rabeea Qbaha [/b]

[b]شكرا علي اهتمامك ومساعدتك[/b]

[b]فقد استخدمت الداتا جريد فيو[/b]

[b]ولكن هناك مشكله حيث انني اقوم باضافة البيانات يدويا في الداتا جريد فيو بمعني انه عن تشغيل البرنامج[/b]

[b] اريد ادراج اعمده في الداتا جريد فيو مع عمل Resize  او تنسيق للداتا جريد فيو  ولكن بتظهر عندي مشكله وهي انه عند غلق الفورم واعادة فتحه بتحصل مشكله فيقول لي ان العمود مضاف قبل ذلك ولم اجد حل لهذه المشكله ولذلك اضطررت ان استبدل الداتا جريد فيو بال List view اذا كان عندك حل رجاء المساعده.[/b]
[b]لقد ارفقت جزء من المشروع ارجو من الله ان يكون هناك حل في الداتا جريد فيو [/b]
[b]وجزاك الله خيرا.[/b]


الملفات المرفقة
.rar   Test.rar (الحجم : 75.8 ك ب / التحميلات : 13)
الرد }}}
تم الشكر بواسطة:
#4
المشروع ما بفتح فيه مشكله 
من ملفات المشروع واضح انك لا تقوم باستخدام قاعدة بيانات للتخزين
اذا ارت حفظ البيانات يتوجب عليك استخدام قاعدة بيانات

تفضل هذا مثال على ما تريد


الملفات المرفقة
.zip   test_for_you.zip (الحجم : 100.46 ك ب / التحميلات : 21)
الرد }}}
تم الشكر بواسطة:
#5
(22-11-18, 02:39 AM)Rabeea Qbaha كتب : المشروع ما بفتح فيه مشكله 
من ملفات المشروع واضح انك لا تقوم باستخدام قاعدة بيانات للتخزين
اذا ارت حفظ البيانات يتوجب عليك استخدام قاعدة بيانات

تفضل هذا مثال على ما تريد
بارك الله فيك اخي علي اهتمامك
اولا :انا استخدم قاعدة بيانات للتخزين ولكن لم ارفقها لاني لست بحاجه لها في المثال لكي اوضح المطلوب
ثانيا انت لم تفهمني هذا ليس ما اريد
ولكن ما اريده هو :

عند فتح الفورم يجب ان تكون Datagridview فارغه فيقوم العميل بادخال البيانات يدويا في التكست بوكس وعند الضغط علي زر اضافه يتم اضافة البيانات في ال Datagridview ولكن بدون حفظ في قاعدة البيانات بمعني انها تظهر في الDatagridview فقط 
اتمني ان اكون وضحت المطلوب وجزاك الله خيرا
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم