PDA

View Full Version : سوال: نمایش نتیجه کوئری برروی استرینگ گرید



amirkazem
دوشنبه 01 تیر 1394, 22:31 عصر
باسلام وآرزوی توفیق وقبولی طاعات وعبادات شمادوستان گرامی درماه مبارک رمضان

می خواهیم نتیجه یک کوئری که برروی یک DBgrid نمایش داده میشه روروی یک StringGridنمایش بدیم. واضح تراین که بایک کوئری برنامه هفتگی یک دبیرکه قبلاً ازطریق یک فرم به برنامه داده ایم را برروی یک dbgrid نمایش میدهیم.
حالامیخواهیم جهت زیباترشدن محیط برنامه همان اطلاعات dbgridرابرروی یک استرینگ گریدکه شبیه برنامه هفتگی طراحی کرده ایم، داشته باشیم.(عکس ضمیمه)
دوستان اگرراهنمایی بفرماییدممنون خواهم شد.
دراین ماه پرخیروبرکت ماراازدعای خویش محروم نفرمایید.
التماس دعا

یوسف زالی
دوشنبه 01 تیر 1394, 23:19 عصر
سلام.
راه دو خطی نداره و باید با حلقه داده ها رو بریزی توش.
حالا چرا از خود گرید یا گرید هایی مثل ehlib یا tms استفاده نمی کنی؟

amirkazem
سه شنبه 02 تیر 1394, 00:26 صبح
سلام ضمن تشکر، ازگریدهایی چون ehlibیا tmsتاکنون استفاده نکرده ام .تازه بایدبرم دنبالشون تاببینم چی هستند.:ناراحت:

hadisalahi2
سه شنبه 02 تیر 1394, 10:51 صبح
توصیه من Ehlib هستش
ساده ، زیبا ، قوی و با پشتیبانی از راست به چپ

amirkazem
پنج شنبه 04 تیر 1394, 12:15 عصر
سلام، ضمن تشکرمجددازدوستان مشکل رابایک فانکشن حل کردیم.


function returnrow( day:string):integer; begin
if day='شنبه' then returnrow:=1 else if day='یکشنبه' then returnrow:=2 else if day='دوشنبه' then returnrow:=3 else if day='سه شنبه' then returnrow:=4 else if day='چهارشنبه' then returnrow:=5 else if day='پنج شنبه' then returnrow:=6;
end;function returncol(time:string):integer; begin if time='زنگ اوّل' then returncol:=1 else if time='زنگ دوم'then returncol:=2 else if time='زنگ سوم' then returncol:=3 else if time='زنگ چهارم' then returncol:=4 else if time='زنگ پنجم' then returncol:=5 else if time='زنگ ششم' then returncol:=6 else if time='زنگ هفتم' then returncol:=7; end;






وبرای رویداد: on cell click دی بی گرید مربوطه کدزیررانوشتیم وجواب گرفتیم:

for I := 1 to ADOQuery2.RecordCount do begin row:=returnrow(ADOQuery2['day']); col:=returncol(ADOQuery2['time']); StringGrid1.cells[col,row]:=ADOQuery2['name']; ADOQuery2.Next;

یوسف زالی
پنج شنبه 04 تیر 1394, 12:30 عصر
کار اشتباهی کردید دوست من، حتی اگر به این صورت بخواهید ادامه بدید باید مقایسه هاتون بر اساس عدد باشه و نه اسرینگ.

ret_ie
یک شنبه 07 تیر 1394, 12:30 عصر
خوب تو همون DBGrid هم میتونستید Header سطر و ستون رو Hide کنید...

amirkazem
یک شنبه 07 تیر 1394, 18:24 عصر
خوب تو همون DBGrid هم میتونستید Header سطر و ستون رو Hide کنید...


باسلام
منظور این بودکه اطلاعات برنامه هفتگی دقیقاً درروزهای مربوطه وجلسات اموزشی مربوطه نمایش داده بشه.(انگاربرنامه هفتگی که دست بچه داده میشه)

amirkazem
یک شنبه 07 تیر 1394, 18:28 عصر
آنچه که ازایجاداین تاپیک موردنظربود، درعکس زیرقابل مشاهده است.

ret_ie
یک شنبه 07 تیر 1394, 22:51 عصر
باسلام
منظور این بودکه اطلاعات برنامه هفتگی دقیقاً درروزهای مربوطه وجلسات اموزشی مربوطه نمایش داده بشه.(انگاربرنامه هفتگی که دست بچه داده میشه)
سلام، من مشکلی حس نمی کنم. شاید منظورتون رو نگرفتم.مثلا این رو سمت سرور دارید:
select fldDayName as DayName, fldFirstHour as FirstHour, fldSecondHour as SecondHour,...
from
tblWeeklyPlan inner join tblDayNames on tblWeeklyPlan.fldDayName = tblDayName.fldDayName
این اسکریپت کل محتوای جدول رو میده، عناوین ستون روزهای هفته و سپس ساعات مختلف و محتوای ستون اول روز هفته و بقیه هم که برنامه درسی اند. فقط کافیه Caption فیلدها در گرید تنظیم شه

amirkazem
دوشنبه 08 تیر 1394, 01:39 صبح
سلام، عرض کردم مشکل حل شده وفرم موردنظر مربوط به یک برنامه دسکتاپ هستش.وبانوشتن بک تابع که سطر وستون رابرمی گردونه حل شد.
بازهم ازتوجه تمام دوستان تشکرمیکنم.
طاعات قبول التماس دعا.