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

جمع قيم عمود و ليس صف من داتاجريد

مغلق
بدأه moh1983 في 1 يونيو 2006 · 11 رد · 1,533 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

هل من طريقة مبسطة يمكن من خلالها جمع قيم عمود من داتاجريد ووضعها في متغير textbox

ارجو الملاحظة ان الأمثلة في المنتدى تقوم بجمع بصف مع عمود لذلك ارجو عدم اغلاق الموضوع :)

اليك ما قمت به و لكنه لايجدي نفعا اذ لا بد من كتابة كود كبير للقيام به

txtmedian1.Text = NDataGrid1(0, 1) + NDataGrid1.Item(1, 1) + NDataGrid1.Item(2, 1)

هل من طريقة تمكن من الأستغناء عن كتابة الكود بهذه الطريقة

الرجاء المساعدة للضرورة

#2

اكيد ياحبيبي فيه بس انا بعطيك طريق لو كان عندك datagridview

كالتالي سوي الكود هذا

txtmedian1.Text = 0

for each r as datagridvierow in datagrid.rows

txtmedian1.Text +=r.cell(1).value

next

طبعا هذا الكود تحطه في الحدث حق تغير محتويات الخلية

بالتوفيق

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#4

مشكور اخ رومنتيك حتى بكلامك رومانتيكي :) :)

بس ممكن تدعمني بمثال و تكمل معروفك

#5

أخي الكريم الحل بين يديك والذي ذكره الأخ m_3ryan هو الحل الأمثل

ضع فقط Query1 وفي حصائص هذه Query في SQL

اكتب الكود

select sum(Coulomn Name) from tablename
#6

اخي yasin مشكور و لكنك لم تفهم قصدي حيث ان قيم العمود لم تدخل الى قاعدة البيانات sql server ما زالت في عمود الداتاجريد كيف لي ان اجمع قيمة غير موجودة في قاعدة البيانات و العفو :)

اخ romantic اداة datagridview غير موجودة عندي في vb.net2003 هل من حل لهذه المشكلة ؟

#8

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

 Dim Total As Double

		For Each dr As DataRow In CType(DATAGRIDNAME.DataSource, DATASETNAME.TABLENAMEDataTable)
			Total += CType(dr.Item("FEILDNAME"), Double)
			tEXT1.Text = Total
		Next
		Dim Total2 As Double

		For Each dr As DataRow In CType(DataGridNAME.DataSource, DATASETNAME.TABLENAMEDataTable)
			Total2 += CType(dr.Item("FEILDNAME"), Double)
			TEXT2Text = Total2
		Next
#9

شكرا على ذوقك يا عسل

ياللا حظي اني اقرا الموضوع بعد ما توصلت انت للحل بس انا فرحان لانك عرفت كيف تلقطك الفكرة وتطبقها على داتا جريد عادي

عموما بس ملاحظة بسيطة انك لو ماف استخدمت المتغير توتال وادخلت القيمة في الكنترول TEXT2Text كان اعطاك نفس النتيجة

وايضا اعتقد انك عملت اللوب مرتين مع اني ماني شايف فيه فرق واعتقد يكفيك الاتي

For Each dr As DataRow In CType(DATAGRIDNAME.DataSource, DATASETNAME.TABLENAMEDataTable)

tEXT1.Text += CType(dr.Item("FEILDNAME"), Double)

TEXT2.Text=tEXT1.Text

Next

انا بحسب فهمي للكود تبعك اعتقد انه هذا الكود راح يسوي نفس اللي سويته انت

وبالتوفيق

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#10

مشكور يا romantic بس لا تنسى انه عندي حقلين و ليس حقل اي قيمتين :)

#11

حبيبي نفس الشي طيب مايحتاج تسوي لوب مرتين

من نفس اللوب بتعملها

بس انت لانك عامل نفس الحقل في اللوبين

dr.Item("FEILDNAME"), Double

صح؟

بس لو كان عندك لوبين

اعمل الآتي

For Each dr As DataRow In CType(DATAGRIDNAME.DataSource, DATASETNAME.TABLENAMEDataTable)

tEXT1.Text += CType(dr.Item("FEILDNAME1"), Double)

TEXT2.Text += CType(dr.Item("FEILDNAME2"), Double)

Next

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#12

جربت طريقتك و ما نفعت !!!!! جربها بنفسك

لا يعطي قيم في text1 و text2

تم تعديل هذه المشاركة بواسطة moh1983 في 3 يونيو 2006 في 18:59

هذا الموضوع مغلق.

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…