ورود

View Full Version : سوال: مشکل با فیلد RTF (فوری لطفاً)



Happy_davood
سه شنبه 12 شهریور 1387, 14:30 عصر
سلام
من یه فیلد تو دیتا بیس دارم که یه سری داده از نوع RTF رو دورنش ذخیره کردم . حالا قصد دارم همین فیلد رو روی ریپورت نشون بدم . به همین خاطر حتماً روی فیلد کلیک راست می کنم و پراپرتی Text Interpretation رو گزینه RTF انتخاب می کنم .

وقتی در حالت Design هستم ریپورت رو در حالت Preview میبینم همه چیز درسته (یعنی دیتا از DB برداشته میشه و با فرمت مناسب هم نمایش داده میشه) مشکل ! اینجاست که وقتی همین گزارش رو از درون برنامه و توسط ReportViewer نمایش میدم ، فیلد RTF درست نمایش داده نمیشه . یعنی به نوشته های با فرمت ، دقیقاً خود عبارت RTF نشون داده میشه . یه چیزی مثل این :


{\rtf1\fbidis\ansi\ansicpg1252\deff0\deflang1033{\ fonttbl{\f0\fnil\fcharset0 Tornado Tahoma;}{\f1\fnil\fcharset178 Tornado Tahoma;}}
\viewkind4\uc1\pard\rtlpar\qr\b\f0\fs72 sdlkfjhsdfkjsdfh\lang1065\f1\rtlch\par
}


ضمناً وقتی همین مقدار رو بصورت پارامتر به ریپورت ارسال می کنم ، همه چیز درسته و نوشته با فرمت مناسب نمایش داده میشه .

شاپرک
سه شنبه 10 مرداد 1391, 12:37 عصر
كسي راه حلي براي اين مشكل سراغ داره!؟

alirezaahmadreza
سه شنبه 10 مرداد 1391, 13:52 عصر
سلام دوست عزیز
برای رفع این مشکل بروی روی فیلد من نتونستم کاری انجام بدم ولی اگه بتونی مقدار خودتو درون یک پارامتر بریزی میتونی از این روش استفاده بکنی:
روی شی کلیک راست کرده گزینه Format Object رو انتخاب کرده و از تب Paragraph قسمت Text interpretation از Combo موجود گزینه none را به گزینه RTF Text تغییر بدید
Format Object>Paragraph>Text interpretation>RTF Text
با این روش پارامتر شما مقداری را که به صورت RTF دریافت میکند را به همان صورتی که شما در قسمت Design برنامه مشاهده میکردید میتونید مشاهده کنید ولی بازم میگم تو حالتی که یک فیلد رو وارد برنامه میکنید این گزینه وجود نداره ، امیدوارم که مفید واقع بشه راهنماییم موفق باشید

شاپرک
چهارشنبه 11 مرداد 1391, 11:10 صبح
بله من interpretation رو تنظيم كرده ام با اين وجود وقتي Datatable رو از طريق SetDataSource نسبت ميدم به گزارش خاصيت RTF عمل نميكنه!!!
مجبور شدم از اين كار منصرف بشم و Query رو به طور ثابت در Command قرار بدم!
ولي برام عجيب بود كه راه حلي نداشته باشه!
به هر حال ممنونم

alirezaahmadreza
پنج شنبه 12 مرداد 1391, 09:07 صبح
یک سوال شما از چه نسخه از کریستال استفاده میکنید ؟ لازمه اینو هم بگم که این خاصیت interpretation برای یک فیلد هم موجود هست و من این مورد رو برای فیلد هم که تست میکنم خروجی رو به من درست نشون میده دقیقا این مقدار رو من در جدولم ذخیره میکنم

{\rtf1\fbidis\ansi\ansicpg1252\deff0\deflang1033{\ fonttbl{\f0\fnil\fcharset0 Tornado Tahoma;}{\f1\fnil\fcharset178 Tornado Tahoma;}}
\viewkind4\uc1\pard\rtlpar\qr\b\f0\fs72 sdlkfjhsdfkjsdfh\lang1065\f1\rtlch\par
}

وقتی Datatable رو هم با SetDataSource ارتباط میدم خروجی رو به من نمایش میده

http://slat.comli.com/photos/425170bf40e8.jpg

شاپرک
شنبه 14 مرداد 1391, 09:18 صبح
با راهنمايي دوست عزيزم اين مشكل حل شد :


سلام
به پراپرتی فیلد برید . در قسمت Text Interpretation وارد قسمت فرمول بشید . در قسمت فرمول فقط بنویسید :
crRTFText

در قسمت فرمول هم خودش توضیح داده بصورت کامنت .

ممنون

alirezaahmadreza
شنبه 14 مرداد 1391, 21:25 عصر
خداروشکر که مشکلتون حل شد خوشحالم ولی خوب در کریستال ریپورت 13 دیگه نیاز به کد نویسی نیست و تنها با تنظیم پارامتر Text Interpretation بروی RTF Text دستورات RTF رو پشتیبانی میکنه همانطور که در شکل هم نمایش دادم
در هر صورت مرسی از اینکه راحل خودتون رو بیان کردید این مشکلات گاهی در نسخه های مختلف پیش میاد