|
5th
|
2004-05-11 13:18:28, Á¶È¸ : 2,299, Ãßõ : 348 |

[±âÃʰÁ #7] RecordSet class¸¦ ÀÌ¿ëÇÑ µ¥ÀÌÅÍ ´Ù·ç±â #2
(Àüü ¼Ò½º´Â ÷ºÎµÈ ÆÄÀÏÀ» ÂüÁ¶ÇØÁÖ¼¼¿ä. ºÎºÐÀûÀ¸·Î¸¸ ¹ßÃéÇØ¼ ¼³¸íÇÕ´Ï´Ù.)
([±âÃʰÁ #6]¿¡ ¼Ò½º ÆÄÀÏ Ã·ºÎµÇ¾ú½À´Ï´Ù.)
======================================================================
TRecord.scurl :
ÀüüÀûÀÎ °ü¸®¸¦ ÇÏ´Â class ÀÔ´Ï´Ù.
start.curl¿¡¼ ÀڷḦ ³Ñ°Ü¹Þ¾Æ ȸ鿡 Ãâ·Â,
Record °³¼ö¸¸Å ¹öưÀ» »ý¼ºÇϰí, ¹öưÀ» Ŭ¸¯ÇÒ¶§¸¶´Ù 1¾¿ Áõ°¡,
data¸¦ sortÇÏ¿© ÀçÃâ·ÂÀ» ´ã´çÇÕ´Ï´Ù.
-------------------------------------------------------------
*** contstructor ***
set self.rv={RecordView self.rs asa RecordSet, filter=null}
: RecordSetÀÇ Record¸¦ sort Çϱâ À§ÇØ RecordView¿¡ ´ã½À´Ï´Ù.
±×·±µ¥ °°Àº typeÀÌ ¾Æ´Ï±â ¶§¹®¿¡ °Á¦ Çüº¯È¯ ¿¬»êÀÚ asa¸¦ »ç¿ëÇÏ¿´½À´Ï´Ù.
-------------------------------------------------------------
*** btn method (¹öư »ý¼º ¸Þ¼Òµå) ***
{method public open{btn}:void
{for i:int=0 below self.rv.size do
{self.tm.append
||-- {TModelRectangle
{TModelCircle
user-data=self.rv[i],
self.rv[i]["product"],
self.rv[i]["count"],
call-back= { proc {sender:any}: void
set sender.count = sender.count + 1
set sender.user-data["count"]=sender.count
{self.clear}
{self.show-grid}
{self.show-btn}
}
}
}
}
}
: RecordViewÀÇ Record °³¼ö¸¸Å, TModel(¹öư)À» ¸¸µì´Ï´Ù.
TModelÀ» array·Î ¼±¾ðÇϰí,
RecordViewÀÇ size, Áï, Record °³¼ö¸¸Å TModelÀ» append ÇϰԵǸé,
Record¿Í °°Àº °³¼öÀÇ ¹öưÀÌ »ý¼ºµË´Ï´Ù.
{TModelCircle ÀÇ ÁÖ¼®À» Ç®°í {TModelRectangle ¿¡ ÁÖ¼®À» ´Þ¸é, Ÿ¿ø ¸ð¾çÀÇ ¹öưÀÌ »ý¼ºµË´Ï´Ù.
°¢ ¹öưÀ» ±¸º°Çϱâ À§ÇØ user-data¿¡ RecordViewÀÇ Record¸¦ ÇÒ´çÇÕ´Ï´Ù.
call-back ÇÁ·Î½ÃÁ®¸¦ º¯¼ö·Î ³Ñ°ÜÁִµ¥, ÀÌ ¿ªÇÒÀº,
argument·Î ÀÌ ÇÁ·Î½ÃÁ®¸¦ °¡Áö°í ÀÖ´Â °´Ã¼ ½º½º·Î¸¦ ³Ñ°ÜÁÖ¸é¼,
ÀÌ °´Ã¼ÀÇ ¹öưÀÌ Å¬¸¯µÉ¶§¸¶´Ù 1¾¿ Áõ°¡½Ã۰í, ȸéÀ» »õ·Î Ãâ·ÂÇÕ´Ï´Ù.
(À̹ø °Á¿¡¼ Á© ¾î·Æ°Ô ´À²¸Áö´Â ºÎºÐÀÔ´Ï´Ù. ¼³¸íÇÏÀÚ´Ï ´õ´õ¿í ¾î·Æ³×¿ä..)
ÀÌ ÇÁ·Î½ÃÁ®°¡ ƯÀÌÇѰÔ, ¸Þ¼Òµå °°ÀÌ ÇൿÇϸé¼, º¯¼ö¿¡µµ ÇÒ´çÇÒ¼ö ÀÖ½À´Ï´Ù.
ÀÚ¹Ù¿¡´Â ¾ø´Â ³à¼®(?)ÀÌÁÒ. Ŭ·¡½º ¾øÀÌ ´Üµ¶ ÇൿÇϱ⵵ ÇÕ´Ï´Ù.
-------------------------------------------------------------
*** show-grid method (±×¸®µå Ãâ·Â ¸Þ¼Òµå) ***
{method public open{show-grid}:void
set self.rv.sort = "count DESC"
set self.rg.record-source=self.rv
{self.add self.rg}
}
: RecordView¸¦ ÀÌ¿ëÇÏ¿© Record¸¦ Á¤·Ä(³»¸²Â÷¼ø)Çϰí,
RecordView¸¦ Ãâ·ÂÇϱâÀ§ÇØ RecordGrid¿¡ ´ã¾Æ,
RecordGrid¸¦ Ãâ·ÂÇÕ´Ï´Ù.
------------------------------------------------------------
*** show-btn method (¹öư Ãâ·Â ¸Þ¼Òµå - ³»¸²Â÷¼ø) ***
{for i:int=0 below self.rv.size do
let index:int=0
{for j:int=0 below self.tm.size do
{if self.rv[i]["product"] == self.tm[j].product then
set index = j
{break}
}
}
}
: RecordView – rv ¿¡´Â Á¤·ÄµÈ Record°¡, TModel - tm¿¡´Â Á¤·ÄµÇÁö ¾ÊÀº ¹öưµéÀÌ ÀÖ½À´Ï´Ù.
±×¸®µå¿¡ Á¤·ÄµÈ Ç׸ñ ¼ø¼´ë·Î ¹öưµéÀ» Á¤·ÄÇϱâ À§ÇØ, ȸéÀ» Áö¿ì°í, ±×¸®µåÀÇ ¼ø¼´ë·Î ´Ù½Ã ±×·ÁÁÖ¸é µË´Ï´Ù.
RecordViewÀÇ Record¿Í product À̸§ÀÌ ÀÏÄ¡ÇÏ´Â ¹öưÀ» ã¾Æ, ±× ¹öưºÎÅÍ ±×·ÁÁÝ´Ï´Ù.
´ÙÀ½ °Á¿¡¼ °è¼Ó...
- 5th –
|
|
|