الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

أرجو المساعدة

بدأه قلب نابلس في 10 نوفمبر 2009 · 7 رد · 720 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه ،،

أخواني الكرام عندي مشكلة في الـ DATA Grid كيف ممكن أجمع محتويات عمود في الـ DATA GRID ووضعها في LABEL.

وسؤال أخر هل من طريقة لربط قاعدة بيانات أوراكل في VB.net 2005... :blush:

وشكرا لكم :wub:

#2

و عليكم السلام و رحمة الله تعالى و بركاته...

قم بزيادة الدالة إلى فئة الفورم الموجودة عليه الداتاجريد فيو :

	' حساب مجموع خلايا عمود
	' المعامل الأول هو لرقم العمود المراد حساب مجموع خلاياه
	Private Function ColumnCellsSum(ByVal ClmnIndex As Integer) As Decimal
		' صفر
		Dim sum As Decimal = 0
		' استعراض جميع الأسطر
		For Each row As DataGridViewRow In DataGridView1.Rows
			' عدم الأخد بعين الإعتبار السطر الأخير المعد لزيادة سطر جديد
			If Not row.IsNewRow Then
				' التحقق من أن الخلية بها قيمة و ليست فراغا
				If row.Cells(ClmnIndex).Value <> Nothing Then
					' إضافة قيمة الخلية إلى المجموع
					sum = sum + CType(row.Cells(ClmnIndex).Value, Decimal)
				End If
			End If
		Next

		' إرجاع المجموع
		Return sum
	End Function

المعامل الأول للدالة هو رقم العمود المراد حساب مجموع خلاياه.

تحياتي...

#3

السيد محمد رضى الله يعطيك العافية وشكرا على الرد

#4

توجد طريقه بسيطه لجمع عمود داخل DataGridView و هى عن طريق الجدول الذى تستخدمه الـ DataGridView فى اظهار بياناتها و الكود كالتالى:

Dim dt as DataTable = DirectCast(DataGridView1.DataSource, DataTable)

Dim value as Double = Ctype(dt.Compute("Sum(ColumnName)",""), Double)

الداله Compute الموجوده داخل الـ DataTable تستخدم لعمل بعض العمليات الحسابيه مثل Count و Sum او يتم تمرير expression مثل ضرب عمودين، بالنسبه للمعامل الأول فيتم تمرير له اسم الداله و بين القوسين اسم العمود الموجود داخل الـ DataTable ألذى تريد الداله ان تطبق عليه مثلما فعلنا بالأعلى، او يتم تمرير expression معين مثل Column1 * Column2 / 3.14 ، بالنسبه للمعامل الثانى فهو filter يتم تمرير له شرط معين ليتم تنفيذ المعامل الأول بنائا عليه مثل Column2 > 0 او Column1 = 20 او Column1 >20 And Coumn2 < 1200.

الداله Compute تعود بالنوع Object فلابد من تحويل القيمه للنوع الذى تعتقد انه سيتم العوده به، و فى حالتنا هذه افترضت ان العمود يحتوى على قيم عشريه لذا قمت بتحويل الناتج منها إلى Double.

و الله ولى التوفيق

تم تعديل هذه المشاركة بواسطة Muhammad alaa في 10 نوفمبر 2009 في 12:31

مدونتي: C++ Tips and Tricks

#5

شكرا الك السيد احمد علاء الدين

بس ما حد جاوبني عن طريق ربط vb windows application .net 2003 مع الاوراكل

#6

يوجد كجال اسماء داخل System.Data اسمه OracleClient و يتيح لك الإتصال بقواعد بيانات Oracle.

ملحوظه مجال الأسماء السابق ذكره متاح بدءأ من اصدار الدوت نت 1.1 و التى صدرت مع الفيجوال ستديو 2003 و ما بعدها.

و الله ولى التوفيق

مدونتي: C++ Tips and Tricks

#7

كما قال لك الأخ محمد علاء إستخدم System.Data.OracleClient وتكون جملة الاتصال بهذا الشكل

server=MachineName:PortNo/DatabaseName;User ID=Username;Password=xxx

فلتضع فى معلومك أن User ID فى نص الاتصال يعبر عن قاعدة البيانات حيث أن الأوراكل تتكون من قاعدة بيانات رئيسية تحتوى على مستخدمين فرعيين (قواعد البيانات بمفهوم SQL-Server)

لن أجيد شرح هذه النقطة جيدا لكن ربما يفيدك فى فهمها خبراء قسم الأوراكل

وهذا مثال على نص اتصال

server=pc01:1521/orcl;user id=MyDatabase;password=MyPassword

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#8

أخي محمد علاء مشكور على الرد وجزاك الله خير

أخي الكريم السيد Ghost2010 مشكور على التوضيح والشرح

الله يعطيك الف عافية وجزاك الله خير

مواضيع مشابهة