PDA

View Full Version : استفاده از کامپوننت های rest برای نمایش اطلاعات json در یک گرید



nilidelphi
شنبه 05 فروردین 1396, 21:01 عصر
با سلام خدمت دوستان
عزیزان من یک برنامه برای موبایل می نویسیم که در اون از طریق کامپوننت های RESTClient1 و RESTRequest1 و RESTResponse1 میتونم از یک وب سرویس اطلاعات دریافت کنم
مثلا این :
{"Project_id":"20","Finish_Date":null,"Project_Vaziat":"2""}
{"Project_id":"29","Finish_Date":null,"Project_Vaziat":"2"}
{"Project_id":"209","Finish_Date":null,"Project_Vaziat":"4"}
{"Project_id":"245","Finish_Date":null,"Project_Vaziat":"2"}

حالا مشکل من اینجاست که بلد نیستم که اطلاعات رکورد هارو در یک Grid یا هر چیز دیگری نشون بدم خواهشا اگه کسی میدونه کمک کنه خیلیواجبه

ابوالفضل عباسی
یک شنبه 06 فروردین 1396, 09:05 صبح
باسلام.
برای نمایش اطلاعات در grid باید از خاصیت bind Visually دلفی استفاده کنید.
به پوشه های sample دلفی رفته. وارد فایل live Binding شوید.در آنجا مثال های جامعی در این زمینه موجود می باشد.
این سورس (http://uploadboy.me/9dqfw5jvgns4/LiveBindings.zip.html) به شما کمک می کند.
این لینک (http://barnamenevis.org/showthread.php?511914-%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D8%A8%D8%A7%D9%86%DA%A9-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA%DB%8C) ی تواند به شما کمی کمک کند.

nilidelphi
یک شنبه 06 فروردین 1396, 12:52 عصر
دوست گرامی من live Binding بلدم ولی متن بازگشتی از json رو از کدوم کامپوننت باید به یک گرید بریزم آخه?؟
اول بگین تو کدوم کامپوننت رکورد ها وجود دارد بعد من اونو لاو بایندیگ کنم
مشکل من اینه که من موندم چجوری و با کدوم کامپوننت یا تابع متن بازگشتی رو رکورد به رکورد دریافت کنم

ابوالفضل عباسی
یک شنبه 06 فروردین 1396, 13:33 عصر
یعنی با استفاده از grid نمی تونی رکورد به رکورد متن json رو بریزید؟

nilidelphi
دوشنبه 07 فروردین 1396, 08:26 صبح
عزیزم من کل متن json رو در خاصیت content دارم
حالا میخوام اونو رکورد به رکورد در یک گرید نشون بدم ، بلدم نیستم اگه میدونید خواهشا گام به گام بهم بگین
خاصیت Comtent یا JsonValue در کامپوننت RESTResponse حاوی متن بازگردانده شده از وب سرویسم هست که بصورت زیر هست :
{"Project_id":"20","Finish_Date":null,"Project_Vaz iat":"2""}
{"Project_id":"29","Finish_Date":null,"Project_Vaz iat":"2"}
{"Project_id":"209","Finish_Date":null,"Project_Va ziat":"4"}
{"Project_id":"245","Finish_Date":null,"Project_Va ziat":"2"}
حالا میتونم کد بنویسم و اینارو تفکیک کنم و رکورد به رکورد در یک استریگرید نمایش بدم ولی میدونم که کامپوننتی هست که بشه با استفاده از لایوبایندیگ مستقیم این رکورد هارو تو گرید یا هر کامپوننت دیگری ریخت
حالا نمیدونم از چه کامپوننتی و چجوری استفاده کنم اگه بلدین ممنون میشم کمک کنین
با تشکر

nilidelphi
دوشنبه 07 فروردین 1396, 08:27 صبح
در ضمن من نمیخوام چیزی به json بریزم من می خوام رکورد هارو از json بخونم بریزم تو یک گرید

ابوالفضل عباسی
دوشنبه 07 فروردین 1396, 12:34 عصر
شما اگر درست مثال های livebindings رو نگاه میکردید حتما به جواب میرسیدید.

یک Grid در فرمتون بگذارید روی RESTResponse کلیک کرده و در پایین تب propertice روی Bind Visually کلیک کنید حالا روی * در RESTResponse کلیک و درگ روی * گریدتون بکنید تا حاشیه * گرید سبز شود.

حالا تمامی Content ها روی گرید پیاده سازی شدند. هرچی مقدار Content تغییر کند روی Grid اعمال می شود.

موفق باشید.

nilidelphi
شنبه 12 فروردین 1396, 20:26 عصر
دوست گرامی با تشکر از پاسخ هاتون
مشکل حل شد ولی یه مشکل دیگه بوجود اومد
تمام دیتا هایی که فارسی هستند بصورت زیر نمایش داده میشن حتی با اتفاده از utf-8 :
ÇÊÍÇÏíå ÝÑæÔäϐÇä æÔǘ æ ÎÑÇÒÇä ÇÑæãíå
لطفا راهنمایی کنید

ابوالفضل عباسی
یک شنبه 13 فروردین 1396, 11:28 صبح
در تاپیک زیر از یونیت فارسی ساز استفاده کن،ببین درست میشه یانه
فارسی در دلفی فایرمانکی (http://barnamenevis.org/showthread.php?536396-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C-%D8%AF%D8%B1-%D8%AF%D9%84%D9%81%DB%8C-%D9%81%D8%A7%DB%8C%D8%B1%D9%85%D8%A7%D9%86%DA%A9%D B%8C&p=2361647&posted=1)

nilidelphi
دوشنبه 14 فروردین 1396, 07:43 صبح
با تشکر از پیگیری شما دوست عزیز
شما درست میفرمایین این تاپیکو قبلا هم دیده بودم و سوالمو اونجاهم مطرح کردم ولی اون تاپیک ماله زمانی هست که خروجی اندروید بگیریم
من حتی وقتی خروجی برناممو برای ویندوز میگیرم هم دیتای فارسی این شکلی نمایش داده میشن نمیدونم از چی میتونه باشه؟

ابوالفضل عباسی
دوشنبه 14 فروردین 1396, 09:02 صبح
شرمنده،من فکرکردم مشکلتون در اندرویده.در ویندوز رو نمیدونم.شرمنده