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

نسخة كاملة : مساعدة في أمر split في RDLC
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته وصح عيدكم
عندي عمود في فاعدة البيانات يحتوي على القيمة التالية

فواتير$2|طلب تسليم$2|طلب تخليص$4|

أريد عرضها في ريبورت RDLC على هذا الشكل

فواتير                2  
طلب تسليم       2
طلب تخليص       4

باستعمال الأمر split او من لديه طريقة أخرى
وشكرا
وعليكم السلام ورحمة الله وبركاته ،، كل عام وانت بخير

الخطوة الأولى : تعمل عملية التقسيم وتخزن البيانات في متغيرات .

الخطوة الثانية : ترسل المتغيرات للتقرير وفي التقرير بارامترات يستقبل المتغيرات .

إنتهى .
(27-06-17, 06:39 PM)حريف برمجة كتب : [ -> ]وعليكم السلام ورحمة الله وبركاته ،، كل عام وانت بخير

الخطوة الأولى : تعمل عملية التقسيم وتخزن البيانات في متغيرات .

الخطوة الثانية : ترسل المتغيرات للتقرير وفي التقرير بارامترات يستقبل المتغيرات .

إنتهى .

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

فواتير$2|طلب تسليم$2|

أو قد تكون هكذا


فواتير$2|طلب تسليم$2|طلب تخليص$4|كشف المخازن$1|

يعني القيمة تكون على هذا الشكل :
إسم الوثيقة$عدد الوثائق| .............xxxxx$nnnnnnnnn|

فتكون النتيجة في الريبورت
إسم الوثيقة       عدد الوثائق
.
.
.
.
xxxxxxxxx       nnnnnnnn


وشكرا
السلام عليكم و رحمة الله و بركاته
بما ان البيانات القادمة من القاعدة متغيرة 
و بالتالي ستحتاج الى حاوية متغيرة ايضاً في التقرير
و الافضل يكون جدول من حقلين
الحقل الاول يكون Type و الثاني Value

من جهة البيانات التي في الحقل ستحتاج الى عملية Split تقوم على اساسها بفصل البيانات الى جدول بحقلين ايضاً
و من ثم تسند هذا الجدول الى التقرير
عملية الفصل ساقوم بها الى مصفوفة من النوع Dictionary 
تحوي الحقل و قيمته (Key,Value)
كما يلي
PHP كود :
       Dim Txt As String "فواتير$2|طلب تسليم$6|طلب تخليص$4|"
 
       Dim items Txt.Split(New Char() {"|"c}, StringSplitOptions.RemoveEmptyEntries).[Select](Function(ss.Split(New Char() {"$"c})).ToDictionary(Function(KK(0), Function(VV(1))

 
       For Each element In items
            MsgBox
(element.Key "  /  " element.Value)
 
       Next 
باقي عليك عملية الاسناد للتقرير

بالتوفيق
(28-06-17, 11:41 PM)ابو ليلى كتب : [ -> ]السلام عليكم و رحمة الله و بركاته
بما ان البيانات القادمة من القاعدة متغيرة 
و بالتالي ستحتاج الى حاوية متغيرة ايضاً في التقرير
و الافضل يكون جدول من حقلين
الحقل الاول يكون Type و الثاني Value

من جهة البيانات التي في الحقل ستحتاج الى عملية Split تقوم على اساسها بفصل البيانات الى جدول بحقلين ايضاً
و من ثم تسند هذا الجدول الى التقرير
عملية الفصل ساقوم بها الى مصفوفة من النوع Dictionary 
تحوي الحقل و قيمته (Key,Value)
كما يلي
PHP كود :
       Dim Txt As String "فواتير$2|طلب تسليم$6|طلب تخليص$4|"
 
       Dim items Txt.Split(New Char() {"|"c}, StringSplitOptions.RemoveEmptyEntries).[Select](Function(ss.Split(New Char() {"$"c})).ToDictionary(Function(KK(0), Function(VV(1))

 
       For Each element In items
            MsgBox
(element.Key "  /  " element.Value)
 
       Next 
باقي عليك عملية الاسناد للتقرير

بالتوفيق

 شكرا أخي أبو ليلى وبارك الله فيك على هذا الحل الإحترافي