lecture Home > ASP.NET > Taeyo's ASP.NET

Taeyo's ASP.NET

   °­Á ÃÖÃÊ ÀÛ¼ºÀÏ : 2003³â 07¿ù 10ÀÏ
   °­Á ÃÖÁ¾ ¼öÁ¤ÀÏ : 2003³â 07¿ù 22ÀÏ

   °­Á ÀÐÀ½ ¼ö : ȸ

   ÀÛ¼ºÀÚ : Taeyo(±è Å¿µ)
   ÆíÁýÀÚ : Taeyo(±è Å¿µ)

   °­Á Á¦¸ñ : DataList Control (1)

°­Á Àü Å¿ÀÀÇ Àâ´ã>

Á» ´Ê¾úÁÒ? ÇÏÁö¸¸.... ±×°Ô...  ¸»ÀÔ´Ï´Ù..  ¹«Á¶°Ç Á˼ÛÇÕ´Ï´Ù.. ¤Ð_¤Ð

¹«½¼ µå¸± ¸»¾¸ÀÌ ÀÖ°Ú½À´Ï´Ù. -_-++++++  ¿©·¯ºÐ ¸ðµÎ ÇູÇϼ¼¿ä~~~
(Åß~~  ÈÖ¸®¸¯~~~)

¹öÁö´Ï¾Æ¿¡¼­ Å¿À¿´½À´Ï´Ù. *¤Ð*


´ë»ó : ASP.NETÀÇ ±âº»ÀûÀÎ ÄÁÆ®·Ñ »ç¿ë¹ýÀ» ¶¾ À̵é.
¼±¼öÁö½Ä : ADO.NET ±âº» Áö½Ä.

DataList ÄÁÆ®·Ñµµ Repeater ÄÁÆ®·Ñ°ú ¸¶Âù°¡Áö·Î ÅÛÇø´À» ±â¹ÝÀ¸·Î µ¥ÀÌÅ͸¦ Ãâ·ÂÇÕ´Ï´Ù. Repeater ÄÁÆ®·ÑÀÇ ¹ßÀüÇüÀ̱⠶§¹®¿¡ ÅÛÇø´À» »ç¿ëÇÏ´Â ¹æ¹ý µî ±âº»ÀûÀÎ »ç¿ë¹ýÀº ±âÁ¸ Repeater ÄÁÆ®·ÑÀÇ °æ¿ì¿Í µ¿ÀÏÇÏÁÒ. ÇÏÁö¸¸, ÀÌ´Â Repeater ÄÁÆ®·Ñº¸´Ù ´Ù¾çÇÑ ±â´ÉÀ» °®´Â ÄÁÆ®·ÑÀÔ´Ï´Ù. Repeater ÄÁÆ®·Ñ°ú´Â ´Þ¸® µ¥ÀÌÅÍÀÇ ¼±Åà ¹× º¯°æÀ» À§ÇÑ Ãß°¡ÀûÀÎ ÅÛÇø´ÀÌ Á¦°øµÇ¾î ÀоîµéÀÎ µ¥ÀÌÅÍ¿¡ ¼öÁ¤ ¹× »èÁ¦ÇÏ´Â ÀÛ¾÷ÀÌ °¡´ÉÇϱ¸¿ä. °¢°¢ÀÇ ÅÛÇø´¿¡ ´ëÇØ ½ºÅ¸ÀÏÀ» ÁöÁ¤ÇÒ ¼öµµ ÀÖ´ä´Ï´Ù. ¹öư µîÀÇ ÄÁÆ®·ÑÀ» DataList ÄÁÆ®·Ñ ³»ºÎ¿¡ ¿Ã·Á¼­ À̺¥Æ®¸¦ ó¸®ÇÏ´Â °Íµµ ±×¸® ¾î·ÆÁö ¾Ê°í ¸»ÀÌÁÒ. ȣȪ

ÀÌ·¯ÇÑ ÀåÁ¡µé·Î ÀÎÇØ ÀÌ ÄÁÆ®·ÑÀº °£´ÜÇÑ Ç¥ ÇüÅÂÀÇ Ãâ·ÂÀÌ ¾Æ´Ñ Á¶±ÝÀº º¹ÀâÇÑ ÇüÅÂÀÇ Ãâ·ÂÀ» ¿ä±¸ÇÒ °æ¿ì¿¡ À¯¿ëÇÏ´Ù°í º¼ ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷, ¼îÇθô¿¡¼­ »óǰÀ» Áø¿­ÇÒ °æ¿ì¿¡ ¾ÆÁÖ À¯¿ëÇÏÁÒ. °í·Î, ¹Ýµå½Ã »ç¿ë¹ýÀ» ¾Ë¾ÆµÎ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ^^

ÀÌ ÄÁÆ®·ÑÀÇ ´ÜÁ¡À̶ó¸é ÆäÀÌ¡À» ±¸ÇöÇϱⰡ ½±Áö ¾Ê´Ù´Â °ÍÀε¥... ±â»Û ¼Ò½ÄÀº ÀÌ °­Á°¡ ³¡³ª°í À̾îÁú °­ÁÂ...¿¡¼­ ±×·¯ÇÑ ÆäÀÌ¡À» ¸Å¿ì ½±°Ô °¡´ÉÇÏ°Ô ÇØÁÖ´Â PageingHelper ¸¦ ¿©·¯ºÐ¿¡°Ô ¼Ò°³ÇØ µå¸± °ÍÀ̶ó´Â °ÍÀÌÁö¿ä...  ÀÏ´ÜÀº ±â´ëÇØ º¸¼¼¿ä ^^

·¹À̾ƿô

Repeater ÄÁÆ®·ÑÀº Ãâ·Â°ú °ü°èÇØ¼­´Â ±× ¾î¶°ÇÑ Å±׵µ ÄÁÆ®·ÑÀÌ ¸¸µéÁö ¾Ê¾Ò¾ú´Ù´Â °ÍÀ» ±â¾ïÇϼ¼¿ä? Áï, Ãâ·Â°ú °ü°èµÈ ÄÚµå´Â °³¹ßÀÚ°¡ ¸ðµÎ Çϵå ÄÚµùÀ¸·Î ÀÛ¼ºÇؾ߸¸ Çß¾ú´Ù´Â ÀÌ¾ß±â¶ø´Ï´Ù. ÇÏÁö¸¸, DataList ÀÇ °æ¿ì´Â ÀÌ ºÎºÐÀÌ Á¶±Ý ´Þ¶ó¿ä. DataList´Â ±âº»ÀûÀ¸·Î °¢°¢ÀÇ ÅÛÇø´¿¡ ´ëÇØ¼­ Å×À̺í(<TABLE>) ű׸¦ ÀÚµ¿À¸·Î »ý¼ºÇØ Áְŵç¿ä. Áï, ´ÙÀ½ ±×¸²°ú °°ÀÌ ±âº» Å×À̺í ÅÂ±× ³»¿¡ ÀÚµ¿À¸·Î °¢°¢ÀÇ ÅÛÇø´ ÄÚµåµéÀÌ ³¢¿öÁ® Ãâ·ÂµÇ´Â ÇüÅ·Π³ªÅ¸³­´Ù´Â °ÍÀ̶ø´Ï´Ù.

DataList¿¡¼­´Â À̸¦ RepeatLayout À̶ó ºÎ¸£´Âµ¥¿ä. RepeatLayoutÀÇ °ªÀ¸·Î´Â Table°ú Flow¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ±âº» °ªÀº À§¿¡¼­ È®ÀÎÇÑ °Íó·³ TableÀ̱¸¿ä. ÀÌ ·¹À̾ƿôÀÇ ÇüŸ¦ Flow·Î ¹Ù²Ü ¼öµµ ÀÖÁö¸¸, ¹Ù²Ü °æ¿ì Å×À̺í ű׸¦ ´ë½ÅÇÏ¿© űװ¡ °¢°¢ÀÇ ÅÛÇø´À» µÑ·¯½Î´Â ÇüŰ¡ µÇ¸ç, ºê¶ó¿ìÀú Áß¿¡´Â <span> ű׸¦ ÀÌÇØÇÏÁö ¸øÇÏ´Â ºê¶ó¿ìÀúµµ ÀÖÀ¸¹Ç·Î, Flow ·¹À̾ƿôÀ» »ç¿ëÇÏ´Â °ÍÀº ±×¸® ÃßõÀûÀÌÁö ¸øÇÕ´Ï´Ù. ÇØ¼­, ´ëºÎºÐÀÇ °æ¿ì ±âº» ·¹À̾ƿôÀÎ Table¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ±ÇÀåµÇÁö¿ä.

¿¹Á¦¸¦ ÅëÇØ¼­ Çϳª¾¿ È®ÀÎÇØ ³ª°¡ º¸µµ·Ï ÇØ¿ä. ¸ÕÀú, »õ·Î¿î À¥ Æû ÆäÀÌÁö¸¦ ¿©·¯ºÐÀÇ ÇÁ·ÎÁ§Æ®¿¡ Çϳª Ãß°¡Çϵµ·Ï ÇØ¿ä. ÆäÀÌÁöÀÇ À̸§Àº DataListEx1.aspx ¶ó°í ÁÖµµ·Ï Çϱ¸¿ä. ÆäÀÌÁö¸¦ »ý¼ºÇÏ¿´À¸¸é, À¥ Æû À§¿¡ ÇϳªÀÇ DataList¸¦ ´ÙÀ½ ±×¸²°ú °°ÀÌ µå·¡±× ¾Ø µå·ÓÀ¸·Î ¿Ã·Á³õµµ·Ï ÇÕ´Ï´Ù.

´ÙÀ½À¸·Î´Â, ÄÚµå ºñÇÏÀÎµå ÆäÀÌÁö¿¡ µ¥ÀÌÅ͸¦ ¹ÙÀεùÇÏ´Â Äڵ带 ÀÛ¼ºÇϼ¼¿ä.

private void Page_Load(object sender, System.EventArgs e)
{
    if(!IsPostBack)
    BindDataList();
}

private void BindDataList()
{
    string connectStr = "Server=(local); database=Pubs; user id=sa";
    SqlConnection Con = new SqlConnection(connectStr);
    SqlDataAdapter Adap= new SqlDataAdapter("Select Top5 * from titles", Con);
    DataSet ds = new DataSet();
    Adap.Fill(ds, "titles");
    DataList1.DataSource = ds.Tables["titles"];
    DataList1.DataBind();
}

Repeater ÄÁÆ®·Ñ¿¡¼­ »ç¿ëÇß´ø ÄÚµå¿Í µ¿ÀÏÇÑ ÄÚµåÀÌ´Ï Æ¯º°È÷ ¼³¸íÇÒ¸¸ÇÑ °ÍÀº ¾ø¾î º¸À̳׿ä. ´ÜÁö, ½ÇÁ¦·Î µ¥ÀÌÅ͸¦ DataList¿¡ ¹ÙÀεå ÇÏ´Â ºÎºÐÀ» º°µµÀÇ ÇÔ¼ö(BindDataList)·Î ºÐ¸®ÇØ µÎ¾ú´Ù´Â °Í°ú, µ¥ÀÌÅÍ ¹ÙÀεù ½Ã PageÀÇ IsPostBack ¼Ó¼º °ªÀ» °Ë»çÇÏ¿©, ÆäÀÌÁö°¡ óÀ½ ·ÎµåµÇ´Â °æ¿ì¿¡¸¸ ¹ÙÀε带 ÇÑ´Ù´Â Á¡¸¸ÀÌ ´Ù¸¨´Ï´Ù. ±× Áß Æ¯È÷ IsPostBack ¼Ó¼ºÀÇ »ç¿ëÀº ¸Å¿ì ÁÖ¸ñÇÒ Çʿ䰡 ÀÖ¾î¿ä. ÀÏ´Ü, ¹Ù¿îµå ÄÁÆ®·Ñ¿¡ ·ÎµåµÈ ¸ðµç µ¥ÀÌÅÍ´Â ±âº»ÀûÀ¸·Î VIEWSTATE¸¦ ÅëÇØ¼­ ±× °ªÀÌ À¯ÁöµÇ¹Ç·Î, ÀÌ ÈÄ ÆäÀÌÁö°¡ Æ÷½ºÆ®¹é µÉ ¶§¸¶´Ù µ¥ÀÌÅͺ£À̽º·ÎºÎÅÍ µ¥ÀÌÅ͸¦ °¡Á®¿Í¼­ ¹ÙÀε带 ÇØÁÙ Çʿ䰡 ¾ø°Åµç¿ä. ÆäÀÌÁö°¡ óÀ½ ·ÎµåµÇ´Â °æ¿ì¿¡¸¸ ·ÎµåÇØÁÖ´Â °ÍÀÌ È¿À²ÀûÀ̸ç, ±×·¸°Ô ÇÏ´Â °ÍÀÌ ¼º´É»ó¿¡µµ Å« µµ¿òÀÌ µË´Ï´Ù. ¹°·Ð, ±× ÀúÀåµÇ´Â µ¥ÀÌÅͰ¡ ³Ê¹«³ªµµ ´ë·®À̶ó¸é ÇÑ ¹ø ´õ »ý°¢ÇØ º¸¾Æ¾ß ÇÒ °ÍÀ̱ä ÇÏÁö¸¸¿ä.

ÀÌÁ¦, ¸¶Áö¸·À¸·Î DataListÀÇ ÅÛÇø´À» ²Ù¹Ð Â÷·ÊÀÔ´Ï´Ù. ´ÙÀ½°ú °°ÀÌ ÅÛÇø´À» ±¸¼ºÇØ º¸µµ·Ï Çϼ¼¿ä.

<asp:DataList id="DataList1" runat="server" GridLines="Both" Width="400">
    <HeaderTemplate>
        <b>ÀÌ ´ÞÀÇ Ãßõµµ¼­</b>
    </HeaderTemplate>
    <ItemTemplate>
        <div>
            <img src='images/Title-<%# DataBinder.Eval(Container.DataItem, "title_id")%>.gif'
                hspace="10"/>
            Á¦¸ñ : <b><%# DataBinder.Eval(Container.DataItem, "title") %></b><br />
            °¡°Ý : <%# DataBinder.Eval(Container.DataItem, "price", "$ {0}") %><br />
            <%# DataBinder.Eval(Container.DataItem, "notes") %>
        </div>
    </ItemTemplate>
    <FooterTemplate>
        ¨ÏCopyright 2002 Taeyo.com All rights reserved.
    </FooterTemplate>
</asp:DataList>

±¸¼ºµÈ Äڵ带 º¸¸é, HeaderTemplate ÂÊ¿¡´Â °£´ÜÇÑ ¹®À常ÀÌ ³õ¿©Áø´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ°í, FooterTemplate ÂÊ¿¡´Â ÀúÀÛ±Ç Á¤º¸°¡ ³õ¿©Áø´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. Áß¿äÇÑ °ÍÀº ItemTemplate Àε¥, À̹øÀÇ °æ¿ì´Â À̹ÌÁö űװ¡ ÀÖ´Â °ÍÀ¸·Î º¸¾Æ ÇØ´ç Ã¥ÀÇ À̹ÌÁö¿Í ÇÔ²² Ã¥ÀÇ Á¤º¸¸¦ Ãâ·ÂÇÏ·Á ÇÔÀ» ¾Ë ¼ö ÀÖÀ» °Ì´Ï´Ù. ±×·¸´Ù¸é, ¿©·¯ºÐ¿¡°Ôµµ ÀÌ·¯ÇÑ À̹ÌÁö°¡ ÀÖ¾î¾ß ÇÒ ÅÍÀε¥, ¿©·¯ºÐÀÌ .NET Framework°ú ÇÔ²² QuickStart »ùÇõéÀ» ¼³Ä¡Çß´Ù¸é, ÀÌ¹Ì ÀÌ·¯ÇÑ À̹ÌÁö°¡ ¿©·¯ºÐÀÇ Çϵå»ó¿¡ ÀúÀåµÇ¾îÁ® ÀÖÀ» °Í¿¹¿ä. ÁøÂ¬´Ï´Ù. ÀϹÝÀûÀÎ °æ¿ì ±× À̹ÌÁö°¡ µé¾îÀÖ´Â µð·ºÅ͸®ÀÇ °æ·Î´Â

C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\Samples\QuickStart\aspplus\images

ÀÔ´Ï´Ù. ±× µð·ºÅ͸® ¾È¿¡´Â ¼ö¸¹Àº À̹ÌÁö°¡ Àִµ¥, ±× Áß Title- ¶ó´Â Á¢µÎ¾î·Î ½ÃÀÛÇÏ´Â À̹ÌÁö°¡ ¹Ù·Î Pubs µ¥ÀÌÅͺ£À̽ºÀÇ titles Å×À̺íÀ» À§ÇÑ Ã¥ÀÇ À̹ÌÁöµéÀÌÁö¿ä. ÃÑ 18°³ÀÇ À̹ÌÁö°¡ ÀÖÀ»ÅÙµ¥, ±×°ÍÀ» º¹»çÇØ¼­ ÇöÀç ÇÁ·ÎÁ§Æ®ÀÇ Images Æú´õ·Î ¸ðµÎ °¡Á®¿Àµµ·Ï Çϼ¼¿ä. ^^; 

< p> Äڵ带 º¸¸é À̹ÌÁöÀÇ ¼Ò½º°æ·Î¸¦

src='images/Title-<%# DataBinder.Eval(Container.DataItem, "title_id")%>.gif'

¶ó°í ÁÖ°í ÀÖ½À´Ï´Ù. ½ÇÁ¦·Î À̹ÌÁöµéÀÇ À̸§ÀÌ Title-À̶ó´Â Á¢µÎ¾î¿Í ÇÔ²² Ã¥ÀÇ title_id ·Î ±¸¼ºµÇ¾îÁ® Àֱ⠶§¹®¿¡ ¼Ò½º¿¡¼­µµ ±×·¸°Ô À̸§À» ÁöÁ¤ÇÑ °ÍÀÌÀÌÁö¿ä.

ÁÁ½À´Ï´Ù. ÁÁ±¸¿ä. ÀÌÁ¦ ¿©·¯ºÐÀÇ ¸Ó¸®¼Ó¿¡´Â ´ë·«ÀûÀÎ Ãâ·Â ¸ð½ÀÀÌ ¿¬»óµÉ °Ì´Ï´Ù.(¾Æ´Ï¶ó±¸¿ä? Çä??) ±×·¸µç, ¾Æ´Ïµç, ÀÌÁ¦´Â ÆäÀÌÁö¸¦ ÄÄÆÄÀÏÇÏ°í ½ÇÇàÇØ º¸µµ·Ï ÇÏÀÚ±¸¿ä. ¿¹»óÇÑ´ë·Î °á°ú°¡ Ãâ·ÂµÇ¾ú³ª¿ä?

»ç½Ç, ¿©±â¼­ image ű×ÀÇ SrcÀÇ °ªÀ» ÀÛÀº µû¿ÈÇ¥·Î µÑ·¯ÁÖ°í ÀÖ´Ù´Â Á¡Àº Áß¿äÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î HTML ű×ÀÇ °ªÀº Å« µû¿ÈÇ¥(¡°)¸¦ »ç¿ëÇÏ¿© °ªÀ» µÑ·¯ÁÖ°í´Â Çϴµ¥, À̹øÀÇ °æ¿ì´Â ÀÛÀº µû¿ÈÇ¥¸¦ »ç¿ëÇϰí ÀÖÁö¿ä. »ç½Ç, Å« µû¿ÈÇ¥¸¦ »ç¿ëÇϵçÁö, ÀÛÀº µû¿ÈÇ¥¸¦ »ç¿ëÇϵçÁö ±×°ÍÀº Å« ¹®Á¦°¡ µÇÁö ¾Ê¾Æ¿ä. HTML ű׿¡¼­´Â ¦¸¸ ¸Â°Ô »ç¿ëÇÑ´Ù¸é ÀÛÀº µû¿ÈÇ¥´ø Å« µû¿ÈÇ¥´ø ¾î¶² °ÍÀ» »ç¿ëÇØµµ ¹«¹æÇϱ⠶§¹®ÀÌÁö¿ä. ±×·±µ¥, ¿©±â¼­´Â ¿Ö ÀÛÀº µû¿ÈÇ¥¸¦ »ç¿ëÇÑ °ÍÀϱî¿ä? ÀÌÀ¯´Â °£´ÜÇÕ´Ï´Ù. Src ³»ÀÇ °ªÀ¸·Î ÁöÁ¤µÈ ÄÚµå Áß¿¡ Å« µû¿ÈÇ¥°¡ ÀÌ¹Ì Á¸ÀçÇϰí Àֱ⠶§¹®ÀÌÁö¿ä. ¹ÙÀεù Ç¥Çö½Ä ³»ºÎ¿¡ ¸»ÀÔ´Ï´Ù. °í·Î, ¿©·¯ºÐÀÌ src ÀÇ °ªÀ» ´ÙÀ½°ú °°ÀÌ Å« µû¿ÈÇ¥·Î µÑ·¯Áشٸé

src="images/Title-<%# DataBinder.Eval(Container.DataItem, "title_id")%>.gif"

Src ÀÇ ½ÇÁ¦ °ªÀº Å« µû¿ÈÇ¥°¡ »ç¿ëµÇ´Â Áß°£ ºÎºÐ±îÁö·Î Àνĵ˴ϴÙ. ´ÙÀ½Ã³·³ ¸»ÀÌÁÒ.

src="images/Title-<%# DataBinder.Eval(Container.DataItem, "

±×·¯¹Ç·Î, ÀÌ´Â ±¸¹®¿¡ ÀÌ»óÀÌ ÀÖ´Â °ÍÀ̱⿡ ¹®Á¦°¡ ¹ß»ýÇÒ ¼ÒÁö°¡ ÀÖ¾î¿ä. ÇØ¼­, À§ÀÇ °æ¿ì´Â ¹Ýµå½Ã ÀÛÀº µû¿ÈÇ¥·Î µÑ·¯ Á־ ÀÌ·¯ÇÑ ¹®Á¦¸¦ ¹Ì¿¬¿¡ ¹æÁöÇØ¾ß ÇÒ °ÍÀÔ´Ï´Ù. ÀÛÀº µû¿ÈÇ¥·Î ¹Ù²ÙÁö ¾Ê°í, Å« µû¿ÈÇ¥¸¦ ±×´ë·Î µÐ °æ¿ì¿¡µµ »ç½Ç ½ÇÇà(run)¿¡´Â ¹®Á¦°¡ ¾øÁö¸¸, À¥ Æû µðÀÚÀ̳ʷΠº¯È¯ÇϰíÀÚ ÇÒ °æ¿ì º¯È¯ÀÌ ºÒ°¡´ÉÇÏ´Ù´Â ¸Þ½ÃÁö¸¦ ¹Þ°Ô µÉ °ÍÀÔ´Ï´Ù. Àǽɵȴٸé Çѹø ÇØº¸¼¼¿ä ^^

GridLines ¼Ó¼º

°á°ú°¡ Á¦´ë·Î Ãâ·ÂµÇ¾ú´Ù¸é, ´Ù½Ã±Ý HTML ¼Ò½ººÎ·Î µ¹¾Æ¿Í¼­ DataList ÄÁÆ®·ÑÀÇ ½ÃÀÛ Äڵ带 »ìÆìº¸µµ·Ï ÇØ¿ä. ±× ¾È¿¡´Â ¼ö ¸¹Àº ¼Ó¼ºµéÀ» »ç¿ëÇÒ ¼ö ÀÖÁö¸¸, ¿¹Á¦¿¡¼­´Â ±× Áß GridLines ¶ó´Â ¼Ó¼ºÀ» »ç¿ëÇϰí ÀÖ½À´Ï´Ù.

<asp:DataList id="DataList1" runat="server" GridLines= "Both" Width="400">

GridLines ¼Ó¼ºÀº Ãâ·ÂµÇ´Â Å×À̺íÀÇ Å׵θ®¸¦ ¾î¶² ÇüÅ·Π³ªÅ¸³ª°Ô ÇÒ °ÍÀÎÁö¸¦ ÁöÁ¤ÇÏ´Â ¼Ó¼ºÀ¸·Î, ÀÌ ¼Ó¼º¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â °ªÀ¸·Î´Â Both, Horizontal, None, Vertical ÀÌ ÀÖ½À´Ï´Ù. Both´Â °¡·Î ¹× ¼¼·Î Å׵θ®¸¦ ¸ðµÎ ³ªÅ¸³ª°Ô ÇÏ´Â °ÍÀ̰í, HorizontalÀº °¡·Î Å׵θ®¸¸À», VerticalÀº ¼¼·Î Å׵θ®¸¸À» ³ªÅ¸³ª°Ô ÇÏ´Â °ÍÀ̶ø´Ï´Ù. NoneÀº Å׵θ®¸¦ ³ªÅ¸³ª°Ô ÇÏÁö ¾Ê´Â °ÍÀÌ°í ¸»ÀÔ´Ï´Ù. ¿¹Á¦ÀÇ °æ¿ì´Â ÀÌ °ªÀ¸·Î Both¸¦ »ç¿ëÇϰí Àֱ⿡ °á°ú Å×À̺íÀÇ Å׵θ®°¡ °¡·Î, ¼¼·Î ¸ðµÎ Ãâ·ÂµÉ °ÍÀÓÀ» ¿¹»óÇÒ ¼ö ÀÖÀ» °Ì´Ï´Ù.

±×·¸´Ù¸é, DataList ÄÁÆ®·Ñ¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ¶Ç ´Ù¸¥ ¼Ó¼ºµé¿¡´Â ¾î¶² °ÍµéÀÌ ÀÖ´ÂÁö ±Ã±ÝÇÏÁö ¾Ê³ª¿ä? ÁÁ¾Æ¿ä. ±×·¯ÇÏ´Ù¸é ¿ì¼± ±×µéÀ» Çѹø ¾Ë¾Æº¸µµ·Ï ÇØ¿ä.

¼Ó¼º ¼³¸í
CellPadding ¼¿ »çÀÌÀÇ °£°Ý(pixels). RepeatLayoutÀÌ TableÀÏ °æ¿ì¸¸ Àû¿ëµÈ´Ù
CellSpacing ¼¿°ú ¼¿ ³»ÀÇ ÄÁÅÙÆ® ¿ÍÀÇ »çÀÌ °£°Ý(pixels).
RepeatLayoutÀÌ TableÀÏ °æ¿ì¸¸ Àû¿ëµÈ´Ù
DataKeyField ¹ÙÀεåµÈ µ¥ÀÌÅÍ ¿øº»¿¡¼­ ±âº» Ű·Î »ç¿ëÇÒ Çʵå
DataSource ¹ÙÀεùÇÒ µ¥ÀÌÅÍ ¿øº»
GridLines Å׵θ®ÀÇ Ãâ·Â ÇüÅÂ.
»ç¿ë °¡´ÉÇÑ °ª : None, Horizontal, Vertical, Both
RepeatColumns ¾ÆÀÌÅÛÀ» Ãâ·ÂÇÏ´Â µ¥ »ç¿ëÇÒ Ä÷³ÀÇ ¼ö
RepeatDirection ¾ÆÀÌÅÛÀÌ Ãâ·ÂµÇ´Â ¹æÇâ. VerticalÀº À§¿¡¼­ ¾Æ·¡·Î Ãâ·ÂÇϸç, HorizontalÀº ¿ÞÂÊ¿¡¼­ ¿À¸¥ÂÊÀ¸·Î Ãâ·ÂÇÑ´Ù
RepeatLayout DataListÀÇ Ãâ·Â ·¹À̾ƿô. ±âº»°ªÀº Table.
»ç¿ë °¡´ÉÇÑ °ª : Flow, Table
ShowFooter Footer¸¦ º¸ÀÌ°Ô ÇÒ ÁöÀÇ ¿©ºÎ
ShowHeader Header¸¦ º¸ÀÌ°Ô ÇÒ ÁöÀÇ ¿©ºÎ

¼Ó¼ºµé Áß¿¡ ´«¿¡ °¡Àå ¸ÕÀú µé¾î¿À´Â °ÍÀº ¾î¶² °ÍÀΰ¡¿ä? ÀúÀÇ °æ¿ì´Â RepeatDirection ¼Ó¼ºÀ̾ú½À´Ï´Ù. Ãâ·ÂµÇ´Â °á°ú°¡ »ó,ÇÏ·Î »Ó ¾Æ´Ï¶ó ÁÂ,¿ì·Îµµ ¹èÄ¡°¡ °¡´ÉÇÏ´Ù´Â ÀλóÀ» Áֱ⠶§¹®ÀÌÁö¿ä. ±×·¸½À´Ï´Ù. ÀÌ ¼Ó¼ºÀ» »ç¿ëÇϸé, ±âÁ¸(ASP)¿¡´Â Ãâ·ÂÇϱ⿡ »ó´çÈ÷ ÇǰïÇÑ ºÎºÐÀ̾ú´ø °¡·Î Ãâ·ÂÀÌ ¼Õ ½¬¾îÁö°Ô µË´Ï´Ù. ±×·¸´Ù¸é, ÀÌ ¼Ó¼ºÀ» Á÷Á¢ »ç¿ëÇØ¼­ ¾ó¸¶³ª ¸ÚÁø °á°ú°¡ ³ª¿À´ÂÁö¸¦ Çѹø »ìÆìº¸µµ·Ï ÇØ¿ä.

RepeatColumns, RepeatDirection

HTML ¼Ò½º Áß¿¡¼­ DataList ÄÁÆ®·ÑÀÇ ½ÃÀÛ Äڵ带 ´ÙÀ½°ú °°ÀÌ º¯°æÇØ º¸µµ·Ï Çϼ¼¿ä.

<asp:DataList id="DataList1" runat="server" GridLines="Both"
Width="800" RepeatColumns="2" RepeatDirection="Vertical">

±×¸®°í, ÆäÀÌÁö¸¦ ´Ù½Ã±Ý ½ÇÇàÇØ º¸¼¼¿ä.

¿¹»óÇÑ´ë·Î Ãâ·Â °á°ú°¡ °¡·Î·Î Ãâ·ÂµÇ´Â °ÍÀ» º¼ ¼ö ÀÖ½À´Ï´Ù. ÀÌ´Â List ÄÁÆ®·Ñ¿¡¼­ ´Ù·ç¾î º» °Í°ú À¯»çÇÑ °á°úÀ̸ç, ±âÁ¸(ASP)ÀÇ ±â¼ú·Î´Â »ó´çÈ÷ ¾î·Á¿ü´ø ºÎºÐ Áß¿¡ ÇϳªÀÌÁö¿ä. ÇÏÁö¸¸, .NET¿¡¼­´Â DataList¸¦ »ç¿ëÇÏ¿© ¸Å¿ì °£´ÜÇÏ°Ô ÀÌ·¯ÇÑ Ãâ·ÂÀ» ¸¸µé¾î ³¾ ¼ö ÀÖ½À´Ï´Ù. (±×¸®µå °ü·Ã ÄÁÆ®·Ñ Áß DataList ¸¸ÀÌ ÀÌ ±â´ÉÀ» Áö¿øÇÕ´Ï´Ù. RepeaterÀ̳ª DataGrid´Â ÀÌ ±â´ÉÀ» Áö¿øÇÏÁö ¾Ê°Åµç¿ä ^^;)

TemplateÀÇ Style

DataList´Â ¶ÇÇÑ ÅÛÇø´ÀÇ ½ºÅ¸ÀÏÀ» ÁöÁ¤ÇÒ ¼ö ÀÖµµ·Ï ÇØ ÁÝ´Ï´Ù. DataList¿¡¼­´Â ÅÛÇø´ Çϳª Çϳª°¡ »ç½Ç»ó Å×À̺íÀÇ ¼¿(<td>)À» ÀǹÌÇϱ⿡ ±× ¼¿ÀÇ ¹è°æ»öÀ̳ª Àü°æ»ö, ³Êºñ µîÀ» ¼³Á¤ÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» Á¦°øÇÏ´Â °ÍÀÌÁÒ. ±×·¸´Ù¸é, Á¦°øµÇ´Â ½ºÅ¸ÀÏ¿¡´Â ¾î¶°ÇÑ °ÍµéÀÌ ÀÖÀ»±î¿ä? ´ç¿¬ÇϰԵµ °¢°¢ÀÇ ÅÛÇø´¿¡ ´ëÇØ¼­ ´ÙÀ½°ú °°Àº °¢°¢ÀÇ ½ºÅ¸ÀÏÀÌ Á¦°øµÈ ´ä´Ï´Ù.

ÅÛÇø´ ¼³¸í
HeaderStyle HeaderTemplateÀÇ ½ºÅ¸ÀÏÀ» ¼³Á¤ÇÑ´Ù
FooterStyle FooterTemplateÀÇ ½ºÅ¸ÀÏÀ» ¼³Á¤ÇÑ´Ù
ItemStyle ItemTemplateÀÇ ½ºÅ¸ÀÏÀ» ¼³Á¤ÇÑ´Ù
AlternatingItemStyle AlternatingItemTemplateÀÇ ½ºÅ¸ÀÏÀ» ¼³Á¤ÇÑ´Ù
SeparatorStyle SeparatorTemplateÀÇ ½ºÅ¸ÀÏÀ» ¼³Á¤ÇÑ´Ù
EditItemStyle EditItemTemplateÀÇ ½ºÅ¸ÀÏÀ» ¼³Á¤ÇÑ´Ù
SelectedItemStyle SelectedItemTemplateÀÇ ½ºÅ¸ÀÏÀ» ¼³Á¤ÇÑ´Ù

±×¸®°í, °¢°¢ÀÇ ½ºÅ¸ÀÏ¿¡¼­ ¼³Á¤ÇÒ ¼ö ÀÖ´Â ¼Ó¼ºµé¿¡´Â ´ÙÀ½°ú °°Àº °ÍµéÀÌ ÀÖ¾î¿ä. ´ÙÀ½ Ç¥´Â ±×·¯ÇÑ ¼Ó¼ºµéÀ» ¿ªÇÒ¿¡ µû¶ó ºÐ·ùÇØ¼­ ³ªÅ¸³» º» °ÍÀÔ´Ï´Ù.

¼Ó ¼³¸í
BackColor ¹è°æ»ö ¼³Á¤
BorderColor, BorderStyle, BorderWidth Å׵θ®¿Í °ü·ÃµÈ ¼³Á¤
Font-Bold, Font-Italic, Font-Name,
Font-Names, Font-Overline, Font-Size,
Font-Strikeout, Font-Underline, ForeColor
ÆùÆ®¿Í °ü°èµÈ ¼³Á¤
Height, Width »çÀÌÁî¿Í °ü·ÃµÈ ¼³Á¤
HorizontalAlign, VerticalAlign Á¤·Ä°ú °ü·ÃµÈ ¼³Á¤

°¢°¢ÀÇ ¼Ó¼ºµéÀÇ ¿ªÇÒÀº À̸§¸¸À¸·Îµµ ÃæºÐÈ÷ ÀÌÇØÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ÁÁ½À´Ï´Ù. ÀÌÁ¦ ÀÌ·¯ÇÑ ÅÛÇø´ ½ºÅ¸ÀÏÀ» Ãß°¡·Î ÀÛ¼ºÇÏ¿© DataListÀÇ Ãâ·ÂÀ» Á» ´õ ¾Æ¸§´ä°Ô ¹Ù²Ù¾î º¸µµ·Ï ÇØ¿ä. ´ÙÀ½°ú °°Àº Äڵ带 <DataList> ÅÂ±× ±¸¿ª ¾È¿¡ Ãß°¡ÇØ º¸µµ·Ï Çϼ¼¿ä.(ÀÌ ÆäÀÌÁö´Â Á¦ Ã¥¿¡¼­ Á¦°øÇÏ´Â ¼Ò½º ÆÄÀϵé Áß¿¡¼­ DataListEx1plus.aspx¶ó´Â À̸§À¸·Î Á¦°øµÇ°í ÀÖ½À´Ï´Ù. Á¦ Ã¥ÀÇ ¼Ò½º´Â À§ÀÇ Å¿À »çÀÌÆ® ¸Þ´ºÁß¿¡¼­ BOOKS¸¦ Ŭ¸¯ÇÏ½Ã¸é ¾òÀ» ¼ö ÀÖ¾î¿ä ^^)

<asp:DataList id="DataList1" runat="server" GridLines="Both" Width="800"
    RepeatColumns="2" RepeatDirection="Vertical">
    <HeaderStyle BackColor="slategray" ForeColor="white"></HeaderStyle>
    <FooterStyle BackColor="khaki" ForeColor="blue"></FooterStyle>
    <ItemStyle BackColor="white"></ItemStyle>
    <AlternatingItemStyle BackColor="#dddddd"></AlternatingItemStyle>

´ë´ÜÇÑ ÄÚµåµéÀº ¾Æ´Õ´Ï´Ù. °¢°¢ÀÇ ÅÛÇø´¿¡ ¹è°æ»ö°ú Àü°æ»öÀ» ÁÖ°í ÀÖÀ» »ÓÀÌ´Ï ¸»ÀÔ´Ï´Ù. À§¿Í °°ÀÌ ½ºÅ¸ÀÏÀ» ÁöÁ¤ÇÏ¿´´Ù¸é, ÀÌÁ¦ ÆäÀÌÁö¸¦ ÄÄÆÄÀÏÇÏ°í ½ÇÇàÇØ º¸µµ·Ï Çϼ¼¿ä. ´ÙÀ½°ú °°ÀÌ ÁöÁ¤µÈ ½ºÅ¸ÀÏÀÌ ¹Ý¿µµÈ °á°ú¸¦ º¼ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.

Àç¹ÌÀÖ´Â °ÍÀº AlternatingItemStyleÀä. ÄÚµå Áß¿¡´Â AlternatingItemTemplateÀÌ ¾øÀ½¿¡µµ ºÒ±¸Çϰí, AlternatingItemStyle ½ºÅ¸ÀÏÀÌ °á°ú¿¡ ¹Ý¿µµÇ´Âµ¥, À̴ ¦¼ö ¹øÂ°·Î Ãâ·ÂµÇ´Â ¾ÆÀÌÅÛÀº ³»ºÎÀûÀ¸·Î AlternatingItemTemplateÀ¸·Î Ãë±ÞµÇ¸ç, ±×¿¡ Àû¿ëµÇ´Â ½ºÅ¸ÀÏ·Î AlternatingItemStyleÀÌ »ç¿ëµÇ±â ¶§¹®À̶ø´Ï´Ù.

EditItemTemplate°ú ItemCommand

¶ÇÇÑ, DataList ÄÁÆ®·ÑÀº Repeater ÄÁÆ®·ÑÀÌ Á¦°øÇÏ´Â ÅÛÇø´µé ¿Ü¿¡ 2°³ÀÇ ÅÛÇø´À» ´õ Á¦°øÇØ ÁÖ°í ÀÖ½À´Ï´Ù. ÀÏ´Ü ±×µéÀ» »ìÆìº¸¸é, ±×µéÀº ´ÙÀ½°ú °°¾Æ¿ä.

ÅÛÇà ¼³¸í
EditItemTemplate ÆíÁý ¸ðµå·Î ¼³Á¤µÇ¾îÁú ¶§ Ãâ·ÂµÇ´Â ÅÛÇø´. ÀÌ ÅÛÇø´¿¡´Â º¸Åë TextBox ÄÁÆ®·Ñ°ú °°Àº ÆíÁý ÄÁÆ®·ÑÀÌ Æ÷ÇԵǾîÁö°Ô µË´Ï´Ù. ÀÌ ÅÛÇø´Àº ÀϹÝÀûÀÎ °æ¿ì´Â Ãâ·ÂµÇÁö ¾ÊÀ¸¸ç, Ç׸ñÀÇ ¼ø¼­ ¹øÈ£¸¦ DataList ÄÁÆ®·ÑÀÇ EditItemIndex¿¡ ¼³Á¤ÇÒ °æ¿ì¿¡ ÇØ´ç Ç׸ñ¿¡ ´ëÇÑ EditItemTemplateÀÌ Ãâ·ÂµÇ¾îÁý´Ï´Ù.
SelectedItemTemplate »ç¿ëÀÚ°¡ DataList ÄÁÆ®·Ñ¿¡¼­ Ç׸ñÀ» ¼±ÅÃÇßÀ» ¶§ ·»´õ¸µµÇ´Â ÅÛÇø´. ÀÌ ÅÛÇø´Àº ÀϹÝÀûÀÎ °æ¿ì´Â Ãâ·ÂµÇÁö ¾ÊÀ¸¸ç, Ç׸ñÀÇ ¼ø¼­ ¹øÈ£¸¦ DataList ÄÁÆ®·ÑÀÇ SelectedIndex¿¡ ¼³Á¤ÇÒ °æ¿ì ÇØ´ç Ç׸ñÀÇ SelectedItemTemplateÀÌ Ãâ·ÂµÇ¾î Áý´Ï´Ù.

À§ÀÇ ¼³¸íÀ» Àо¸é ÀÏ´Ü!! ÀÌ·¯ÇÑ ÅÛÇø´µéÀº ±âº»ÀûÀ¸·Î´Â Ãâ·ÂÀÌ µÇÁö ¾Ê´Â´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. ¼³¸íÀ» ´Ù½Ã±Ý Àß Àо¸é, ¾î¶² À̺¥Æ®¿¡ ÀÇÇØ¼­ DataListÀÇ EditItemIndex³ª SelectedIndexÀÇ °ªÀÌ ¼³Á¤µÇ¾î¾ß¸¸ ÀÌ·¯ÇÑ ÅÛÇø´ÀÌ »ç¿ëµÇ¾îÁø´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ±×·¸´Ù¸é, ÀÌÁ¦ ÅÛÇø´¿¡ ¹öư ÄÁÆ®·ÑÀ» Çϳª Ãß°¡ÇØ º¸µµ·Ï ÇØ¿ä. ±×¸®°í, ¹öưÀÌ Å¬¸¯µÉ °æ¿ì, ¼±ÅÃµÈ ¼¿ÀÇ ÅÛÇø´À» SelectedItemTemplateÀ¸·Î ¹Ù²Ù¾î Ãâ·ÂÇϵµ·Ï ¸¸µé¾î º¸·Á ÇÕ´Ï´Ù.

±×·±µ¥, ±× Àü¿¡ ¸ÕÀú ¾Ë¾ÆµÎ¾î¾ß ÇÒ °ÍÀÌ ÀÖ¾î¿ä. ¿©·¯ºÐÀÌ DataList¿¡ ¹öư ÄÁÆ®·ÑÀ» ¿Ã¸®°Ô µÇ¸é, ±× ¹öưÀº Ŭ¸¯µÇ¾úÀ» °æ¿ì, ¹öư ÀÚ½ÅÀÇ Click À̺¥Æ®¸¦ ¹ß»ýÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó, DataListÀÇ ItemCommand ¶ó´Â À̺¥Æ®¸¦ ¹ß»ý½ÃŰ°Ô µÈ´Ù´Â Á¡ÀÔ´Ï´Ù. À̸¦ À̺¥Æ® ¹öºí¸µÀ̶ó°í Çϴµ¥¿ä, ÀÌ´Â ÀÚ½Ä ÄÁÆ®·ÑÀÌ Æ÷ÇÔ °èÃþ ±¸Á¶ÀÇ »óÀ§·Î À̺¥Æ®¸¦ Àü´ÞÇÒ ¼ö ÀÖ°Ô ÇÏ´Â ±â¼úÀ̶ø´Ï´Ù. Repeater, DataList, DataGrid ¸ðµÎ À̺¥Æ® ¹öºí¸µÀ» Áö¿øÇϱ¸¿ä, ±×·Î ÀÎÇØ ÄÁÆ®·ÑÀÇ ÅÛÇø´ ³»¿¡¼­ ¹ß»ýÇÑ À̺¥Æ®´Â ¸ðµÎ ItemCommand À̺¥Æ®·Î ¹öºíµÈ´ä´Ï´Ù.

¸»ÀÌ Á» ¾î·Æ³ª¿ä? °£´ÜÇÏ°Ô ¸»¾¸µå¸®¸é ¸»ÀÔ´Ï´Ù... ÀÌ·¯ÇÑ ±×¸®µå ÄÁÆ®·ÑÀÇ ÅÛÇø´ ³»ÀÇ ¹öưÀÌ ´­¸± °æ¿ìÀÇ Ã³¸®´Â ±âÁ¸°ú´Â ´Þ¸® ±×¸®µå ÄÁÆ®·ÑÀÇ ItemCommand ¿¡¼­ ÇØ¾ßÇÑ´Ù´Â ¸»À̶ø´Ï´Ù. ¸»·Î ¼³¸íÇϴϱî Á¶±Ý ¾î·Æ°Ô ´À²¸ÁöÁö¸¸ ÄÚµå·Î ¸¶ÁÖÇÏ°Ô µÇ¸é ±×¸® ¾î·Á¿î ³»¿ëÀÌ ¾Æ´Ï¿¹¿ä. ±×·¸´Ù¸é, ¿¹Á¦·Î½á ÀÌÇØ¸¦ ÇØº¸µµ·Ï ÇØ¿ä.

¿ì¼± ¿©·¯ºÐÀÇ ItemTemplate¸¦ ´ÙÀ½°ú °°ÀÌ º¯°æÇØ º¸¼¼¿ä

    <ItemTemplate>
    <DIV>
        <IMG hspace="10" align="left" Src='http://localhost/quickstart/ASPPlus/images/Title-
            <%# DataBinder.Eval(Container.DataItem, "title_id") %>.gif'>
        Á¦¸ñ : <B><%# DataBinder.Eval(Container.DataItem, "title") %></B><BR>
        °¡°Ý : <%# DataBinder.Eval(Container.DataItem, "price", "$ {0}") %><BR>
        <%# DataBinder.Eval(Container.DataItem, "notes") %>
        <p><asp:Button Runat="server" Text="¼±ÅÃ"></asp:Button></p>
    </DIV>
    </ItemTemplate>

±×¸®°í, ´ÙÀ½°ú °°ÀÌ SelectedItemStyleµµ Ãß°¡Çϵµ·Ï ÇØ¿ä

<asp:DataList id="DataList1" runat="server" GridLines="Both" Width="800"
        RepeatColumns="2" RepeatDirection="Vertical">
    <HeaderStyle BackColor="slategray" ForeColor="white"></HeaderStyle>
    <FooterStyle BackColor="khaki" ForeColor="blue"></FooterStyle>
    <ItemStyle BackColor="white"></ItemStyle>
    <AlternatingItemStyle BackColor="#dddddd"></AlternatingItemStyle>
    <SelectedItemStyle BackColor="yellow"></SelectedItemStyle>

ÀÌÁ¦, À¥ Æû µðÀÚÀÎ ¸ðµå·Î È­¸éÀ» º¯È¯ÇÏ¿©, À¥ Æû¿¡¼­ DataList ÄÁÆ®·ÑÀ» ¼±ÅÃÇϵµ·Ï ÇØ¿ä. À¥ ÆûÀº ´ÙÀ½°ú °°Àº ¸ð½ÀÀ» Çϰí ÀÖÀ» °ÍÀÔ´Ï´Ù.

±×¸®°í, [¼Ó¼º â]¿¡¼­ ¹ø°³ ¸ð¾çÀÇ ¹öưÀ» Ŭ¸¯ÇÑ µÚ, Ãâ·ÂµÇ´Â À̺¥Æ®µé Áß¿¡¼­ ItemCommand¸¦ ¼±ÅÃÇϰí, ¿ìÃø Ä­¿¡¼­ ´õºí Ŭ¸¯À» ÇÕ´Ï´Ù.

±×·¯¸é, ÄÚµå ºñÇÏÀÎµå ÆäÀÌÁö·Î À̵¿Çϰí, ÀÚµ¿À¸·Î DataList1_ItemCommand À̺¥Æ® 󸮱Ⱑ »ý¼ºµÇ¾îÁ® ÀÖÀ» °ÍÀÔ´Ï´Ù. ÀÌ¹Ì ¾ð±ÞÇßµíÀÌ, ÀÌ´Â DataList ³»ÀÇ ±× ¾î¶°ÇÑ ¹öư ÄÁÆ®·ÑÀ̵çÁö ´­·ÈÀ» °æ¿ì ¹ß»ýÇÏ´Â À̺¥Æ®ÀÔ´Ï´Ù. ÀÌ °÷¿¡ ´ÙÀ½°ú °°Àº Äڵ带 ÀÛ¼ºÇØ º¸µµ·Ï Çϼ¼¿ä.

    private void DataList1_ItemCommand(object source,
        System.Web.UI.WebControls.DataListCommandEventArgs e)
    {
        DataList1.SelectedIndex = e.Item.ItemIndex;
        BindDataList();
    }

´Ù µÇ¾ú´Ù¸é, ÀÌÁ¦ ÆäÀÌÁö¸¦ ÄÄÆÄÀÏÇÏ°í ½ÇÇàÇØº¸µµ·Ï ÇØ¿ä.

Àç¹ÌÀÖ°Ôµµ °á°ú È­¸é¿¡¼­ ¹öưÀ» Ŭ¸¯Çϸé, ¹öưÀÌ Å¬¸¯µÈ ¼¿ÀÇ ¹è°æ»öÀÌ ³ë¶õ»öÀ¸·Î º¯ÇÏ´Â °ÍÀ» º¼ ¼ö ÀÖÀ» °Ì´Ï´Ù. Áï, SelectedItemStyleÀÌ Àû¿ëµÈ´Ù´Â °ÍÀÌÁÒ. ¹öưÀÌ ´­·ÈÀ» °æ¿ì ¼öÇàµÇ´Â DataList1_ItemCommand ³»¿¡¼­ ¿ì¸®°¡ DataList1.SelectedIndex¸¦ »ç¿ëÀÚ°¡ ÇöÀç ¼±ÅÃÇÑ ¾ÆÀÌÅÛÀÇ °ªÀ¸·Î ÁöÁ¤ÇØ ÁÖ¾ú±â ¶§¹®¿¡ ÀÌ·¸°Ô SelectedItemStyleÀÌ Àû¿ëµÇ´Â °Å¶ø´Ï´Ù. ÄÚµå·Î ÁöÁ¤ÇØÁÖÁö ¾ÊÀ¸¸é, ÀÚµ¿À¸·Î SelectedItemStyleÀÌ ¹Ý¿µµÇÁö´Â ¾Ê´Â´Ù´Â Á¡À» ±â¾ïÇϼ¼¿ä.

Ãâ·ÂµÈ ÇϳªÀÇ ÅÛÇø´Àº ¾ÆÀÌÅÛÀ̶ó°íµµ ÇÕ´Ï´Ù

ItemCommand À̺¥Æ®´Â ÀÎÀڷνá À̺¥Æ®¿Í °ü·ÃµÈ µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÏ´Â DataListCommandEventArgs °³Ã¼¸¦ ¹Þ¾ÆµéÀ̱¸¿ä. ÀÌ °³Ã¼´Â ´ÙÀ½°ú °°Àº Á¤º¸µéÀ» Á¦°øÇÕ´Ï´Ù.

¼Ó¼º ¼³¸í
CommandArgument ¸í·É¿¡ ´ëÇÑ Àμö
CommandName ¸í·ÉÀÇ À̸§
CommandSource ¸í·ÉÀÇ ¿øº»(¿©±â¼­´Â ¹öư ÄÁÆ®·Ñ)
Item DataList ÄÁÆ®·Ñ¿¡¼­ ¸í·É ¿øº»(¿©±â¼­´Â ¹öư ÄÁÆ®·Ñ)ÀÌ Æ÷ÇÔµÈ Ç׸ñ

DataList1.SelectedIndex = e.Item.ItemIndex;
BindDataList();

°í·Î, À§ÀÇ Äڵ忡¼­ÀÇ e.Item.ItemIndex´Â ÇöÀç DataList ÄÁÆ®·Ñ¿¡ Á¸ÀçÇÏ´Â ¾ÆÀÌÅÛµé Áß ÇöÀç ¼±ÅÃµÈ ¾ÆÀÌÅÛÀÇ À妽º °ªÀ» ÀǹÌÇÏ´Â °ÍÀ̸ç, ±× °ªÀ» DataListÀÇ SelectedIndex ¼Ó¼º¿¡ ÁöÁ¤Çϰí ÀÖ´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í, BindDataList()¶ó´Â ÇÔ¼ö¸¦ È£ÃâÇϰí Àִµ¥, ÀÌ´Â ¾Ë°í ÀÖµíÀÌ µ¥ÀÌÅ͸¦ DataList¿¡ ¹ÙÀεåÇÏ´Â ÄÚµåÀÔ´Ï´Ù.

À§ÀÇ ¼³¸íÀº ³Ê¹« °£´ÜÇß´ø °Í °°³×¿ä. ÁÁ½À´Ï´Ù. ±×·¸´Ù¸é, ´Ù½Ã Ç®¾î¼­ ¼³¸íÇØ º¸µµ·Ï ÇϰڽÀ´Ï´Ù..

DataListÀÇ ¾î¶² Ç׸ñ(ÅÛÇø´)À» ¼±ÅÃµÈ °ÍÀ¸·Î ³ªÅ¸³»±â À§Çؼ­´Â ¿ì¼± ±× Ç׸ñÀÌ ¸î ¹øÂ° Ç׸ñÀÎÁö¸¦ DataList¿¡°Ô ¾Ë·ÁÁÖ¾î¾ß Çϴµ¥, ±×¸¦ À§ÇØ »ç¿ëµÇ´Â ¼Ó¼ºÀº DataList.SelectedIndexÀÔ´Ï´Ù. ÀÌ ¼Ó¼º¿¡´Ù°¡ ¼±ÅÃµÈ Ç׸ñÀÇ ¹øÈ£¸¦ ¾Ë·ÁÁÖ°í, ´Ù½Ã ¹ÙÀε带 ¼öÇàÇØ ÁÖ¸é ÇØ´ç Ç׸ñÀº À§ÀÇ ±×¸²¿¡¼­ º¸ÀÌ´Â °Íó·³ ¼±ÅÃµÈ Ç׸ñÀ¸·Î½á Ãâ·ÂµÇ´Â °ÍÀÌÁö¿ä. ÁÁ¾Æ¿ä. ±×·¸´Ù¸é, ÀÌÁ¦ ±Ã±ÝÇÑ °ÍÀº ÇöÀç ¼±ÅÃµÈ Ç׸ñÀ» ¾î¶»°Ô ¾Ë¾Æ³¾ ¼ö ÀÖ´À³ÄÀä. ´äÀº °£´ÜÇÕ´Ï´Ù. ±×°ÍÀº ItemCommad À̺¥Æ®ÀÇ µÎ ¹øÂ° ÀÎÀÚ·Î ³Ñ¾î¿À´Â °³Ã¼¸¦ ÅëÇØ¼­ ¾Ë¾Æ³¾ ¼ö Àְŵç¿ä. À§ÀÇ Äڵ忡¼­ÀÇ e°¡ ¹Ù·Î ±×°ÍÀε¥, ÀÌ °³Ã¼´Â ³»ºÎÀûÀ¸·Î Item À̶ó°í ÇÏ´Â ¼Ó¼º °³Ã¼¸¦ Á¦°øÇϸç, ±× °³Ã¼´Â ÇöÀç À̺¥Æ®¸¦ ¹ß»ý½ÃŲ(¹öưÀÌ Å¬¸¯µÈ) Ç׸ñ ÀÚü¸¦ ÀǹÌÇÏ´Â °³Ã¼ÀÔ´Ï´Ù. ±×¸®°í, ±× Item °³Ã¼ÀÇ ItemIndex ¼Ó¼ºÀ» ÅëÇØ¼­ ÇöÀç ¼±ÅÃµÈ Ç׸ñÀÇ ¼ø¼­ ¹øÈ£°ªÀ» ¾ò¾î¿Ã ¼ö ÀÖ°Ô µÇ´Â °ÍÀÌÁö¿ä.

ÇØ¼­, DataListÀÇ Æ¯Á¤ Ç׸ñÀ» ¼±ÅÃµÈ °ÍÀ¸·Î ÁöÁ¤Çϱâ À§Çؼ­´Â, ¸ÕÀú DataList ÄÁÆ®·ÑÀÇ SelectedIndex °ªÀ» e °³Ã¼ÀÇ Item.ItemIndex °ªÀ» »ç¿ëÇÏ¿© ÀûÀýÈ÷ ÁöÁ¤ÇØ ÁØ ´ÙÀ½, µ¥ÀÌÅ͸¦ ´Ù½Ã±Ý ¹ÙÀεù ÇØ ÁÖ¸é µÇ´Â °ÍÀÔ´Ï´Ù. ASP.NETÀÌ ¾Ë¾Æ¼­ ¹ÙÀεùÀ» ÇØÁÖÁö´Â ¾ÊÀ¸´Ï ¸»ÀÔ´Ï´Ù. ÀÌ´Â °ø½Ä°ú °°À¸¹Ç·Î ¹Ýµå½Ã ±â¾ïÇØ µÎµµ·Ï Çϼ¼¿ä.

ƯÁ¤ ¾ÆÀÌÅÛÀ» ¼±ÅÃµÈ °ÍÀ¸·Î ³ªÅ¸³»´Â °ÍÀº ±×¸® ¾î·ÆÁö ¾Ê¾Ò³×¿ä. ±×·¸´Ù¸é, ƯÁ¤ ¾ÆÀÌÅÛÀ» ÆíÁýÇÏ·Á¸é ¾î¶»°Ô ÇØ¾ß ÇÒ±î¿ä?

EditItemTemplate

¿©·¯ºÐÀº ÀÌ¹Ì DataList°¡ Á¦°øÇÏ´Â ÅÛÇø´À¸·Î EditItemTemplate ÀÌ ÀÖ´Ù´Â °ÍÀ» ¾Ë°í ÀÖÀ» °Ì´Ï´Ù. ÀÌ ÅÛÇø´Àº ¿©·¯ºÐÀÌ ÇØ´ç ÅÛÇø´ ¾ÆÀÌÅÛÀ» º¯°æÇϰíÀÚ ÇÒ °æ¿ì ´ëüµÇ´Â ÅÛÇø´À¸·Î, ±âº»ÀûÀ¸·Î´Â Ãâ·Â¿¡ Æ÷ÇԵǾîÁöÁö ¾ÊÀ¸¸ç, DataListÀÇ EditItemIndex °ªÀÌ ÁöÁ¤µÉ °æ¿ì¿¡¸¸ ÇØ´ç ¾ÆÀÌÅÛÀÇ EditItemTemplateÀÌ Ãâ·ÂµÇ¾îÁö°Ô µË´Ï´Ù. EditItemTemplateÀº ´ëºÎºÐ TextBox¿Í °°Àº ÄÁÆ®·Ñ·Î ±¸¼ºµÇ¾î Ãâ·Â °ªÀ» º¯°æÇÒ ¼ö ÀÖ´Â ½¬¿î ¹æ¹ýÀ» Á¦°øÇϴµ¥¿ä, º¹ÀâÇÑ º¯°æÀ» À§Çؼ­º¸´Ù´Â °£´ÜÇÑ º¯°æÀ» À§Çؼ­ »ç¿ëµÉ ¼ö ÀÖ´Â »ó´çÈ÷ À¯¿ëÇÑ ±â´ÉÀÔ´Ï´Ù. °ü¸®ÀÚ Åø °°Àº °ÍÀ» Á¦ÀÛÇÒ °æ¿ì¿¡´Â ÀÌ ¹æ¹ýÀÌ »ó´çÈ÷ À¯¿ëÇÑ ÆíÀÌÁÒ. ÁÁ¾Æ¿ä. ±×·³ ÀÌÁ¦ Çѹø ÇØº¸µµ·Ï ÇØ¿ä.

¸ÕÀú, ¿©·¯ºÐÀÇ HTML¿¡ EditItemTemplateÀ» Ãß°¡ÇØ º¸µµ·Ï ÇØ¿ä. ´ÙÀ½°ú °°Àº Äڵ带 ¿©·¯ºÐÀÇ DataList ÄÚµå ±¸¿ª ³»¿¡ »ðÀÔÇÏ¸é µË´Ï´Ù.

    <EditItemTemplate>
    <DIV>
        <IMG hspace="10" align="left" src='http://localhost/quickstart/ASPPlus/images/Title-
            <%# DataBinder.Eval(Container.DataItem, "title_id") %>.gif' >
        Á¦¸ñ :
        <asp:TextBox Runat="server" BorderStyle="Groove" width="250" ID="title"
            NAME="title" Text='<%# DataBinder.Eval(Container.DataItem, "title") %>'>
        </asp:TextBox>
        <BR>
        °¡°Ý :
        <asp:TextBox Runat="server" BorderStyle="Groove" ID="price" NAME=" price "
            Text='<%# DataBinder.Eval(Container.DataItem, "price") %>'></asp:TextBox>
        <BR>
        <asp:TextBox Runat="server" BorderStyle="Groove" TextMode="MultiLine" Rows="5"
            Width="300" Text='<%# DataBinder.Eval(Container.DataItem, "notes") %>'
            ID="notes" NAME=" notes "></asp:TextBox>
    </DIV>
    </EditItemTemplate>

Äڵ带 ÅëÇØ¼­ EditItemTemplate ÀÇ Ãâ·Â¸ð½ÀÀ» ¿¹»óÇØ º¼ ¼ö ÀÖÀ¸½Å°¡¿ä? ÀÌ ÅÛÇø´Àº Ã¥ÀÇ Á¦¸ñ, °¡°Ý, ¼³¸íÀÇ °ªÀÌ TextBox¿¡ µé¾îÀÖ´Ù´Â °ÍÀ» Á¦¿ÜÇÏ¸é ±âÁ¸°ú Å©°Ô ´Ù¸¥ Á¡ÀÌ ¾ø½À´Ï´Ù. ÀÌ Äڵ忡 ÀÇÇÑ ´ë·«ÀûÀÎ Ãâ·Â ¸ð½ÀÀº ´ÙÀ½°ú °°¾Æ¿ä.

ÁÁ½À´Ï´Ù. ÀÌÁ¦ ItemTemplate¿¡ ´ÙÀ½°ú °°ÀÌ ¹öư ÄÁÆ®·ÑÀ» Çϳª ´õ Ãß°¡Çϵµ·Ï Çսôç. ¾ÆÀÌÅÛÀ» ¼±ÅÃÇÒ °æ¿ì¿Í ¸¶Âù°¡Áö·Î ¾î¶² ¾ÆÀÌÅÛÀ» º¯°æÇÏ·Á ÇÑ´Ù¸é, ¹öư ÄÁÆ®·Ñ°ú °°Àº °ÍÀ¸·Î À̺¥Æ®¸¦ ¹ß»ý½ÃÄÑ Áà¾ß ÇÒ °ÍÀ̱⠶§¹®ÀÌÁö¿ä. Äڵ带 ÀÛ¼ºÇϸ鼭 ÁÖ¸ñÇØ¾ß ÇÒ Á¡Àº »õ·ÎÀÌ Ãß°¡ÇÏ´Â [º¯°æ] ¹öư ÄÁÆ®·ÑÀÇ CommandNameÀÇ °ªÀÌ edit ¶ó´Â Á¡ÀÔ´Ï´Ù. ³ªÁß¿¡ ÀÌ °ªÀÌ Áß¿äÇÑ Å°¿öµåÀÓÀ» ¾Ë°Ô µÉ °ÍÀÌ´Ï, ±â¾ïÇϰí Àֱ⠹ٷ¡¿ä.

    <ItemTemplate>
    <DIV>
        <IMG hspace="10" align="left" Src='http://localhost/quickstart/ASPPlus/images/Title-
            <%# DataBinder.Eval(Container.DataItem, "title_id") %>.gif'>
        Á¦¸ñ : <B><%# DataBinder.Eval(Container.DataItem, "title") %></B><BR>
        °¡°Ý : <%# DataBinder.Eval(Container.DataItem, "price", "$ {0}") %><BR>
            <%# DataBinder.Eval(Container.DataItem, "notes") %>
        <p><asp:Button Runat="server" Text="¼±ÅÃ"></asp:Button>
        <asp:Button Runat="server" Text="º¯°æ" CommandName="edit"></asp:Button>
        </p>
    </DIV>
    </ItemTemplate>

ÀÌÁ¦ ÆäÀÌÁö¸¦ ÄÄÆÄÀÏÇϰí, °á°ú¸¦ È®ÀÎÇØ º¸µµ·Ï Çϼ¼¿ä. °á°ú ÆäÀÌÁö°¡ Ãâ·ÂµÇ¸é [º¯°æ] ¹öưÀ» ´­·¯¼­ ƯÁ¤ ¾ÆÀÌÅÛÀÇ Ãâ·ÂÀÌ EditItemTemplateÀ¸·Î ´ëüµÇ¾î ³ªÅ¸³ª´ÂÁö È®ÀÎÇØ º¸½Ã±¸¿ä. ¾ÆÁ÷Àº ¿©·¯ºÐÀÇ ±â´ë´ë·Î Ãâ·ÂµÇÁö ¾ÊÀ» °Í °°³×¿ä.

[º¯°æ] ¹öưÀ» Ŭ¸¯Çصµ [¼±ÅÃ] ¹öưÀ» Ŭ¸¯ÇßÀ» °æ¿ì¿Í µ¿ÀÏÇÑ °á°ú¸¸ÀÌ ³ª¿À°í ÀÖÁÒ? ¿Ö ¾È ¹Ù²î´Â °ÍÀϱî¿ä? ÀÌÀ¯´Â °£´ÜÇÕ´Ï´Ù. EditItemTemplateµµ SelectedItemTemplate°ú ¸¶Âù°¡Áö·Î ±×³ÉÀº ¹Ù²îÁö ¾Ê°Åµç¿ä. Ŭ¸¯ À̺¥Æ® ½Ã¿¡ ÄÚµå·Î½á ¾î¶² ¾ÆÀÌÅÛÀÌ EditItemTemplateÀ¸·Î ´ëüµÇ¾î¾ß ÇÏ´ÂÁö¸¦ ¾Ë·ÁÁÖ¾î¾ß¸¸ ÇÑ´ä´Ï´Ù. DataList ÄÁÆ®·Ñ ³»ÀÇ ¸ðµç ¹öưµéÀÌ ´­¸± °æ¿ì´Â ItemCommand À̺¥Æ®°¡ È£ÃâµÈ´Ù°í À̾߱âÇß¾úÁÒ? °í·Î, ÀÌ·¯ÇÑ Ã³¸®µµ ±× À̺¥Æ® 󸮱⠾ȿ¡ ÀÛ¼ºÇØ¾ß ÇÒ °ÍÀÔ´Ï´Ù. ´ÙÀ½°ú °°ÀÌ ¸»ÀÌÁÒ.

    private void DataList1_ItemCommand(object source,
        System.Web.UI.WebControls.DataListCommandEventArgs e)
    {
        if(e.CommandName == "edit")
            DataList1.EditItemIndex = e.Item.ItemIndex;
        else
            DataList1.SelectedIndex = e.Item.ItemIndex;
    
        BindDataList();
    }

°¢°¢ÀÇ ¹öưÀÇ CommandNameÀº ItemCommand À̺¥Æ®ÀÇ µÎ ¹øÂ° ÀÎÀÚÀÎ DataListCommandEventArgs °³Ã¼¸¦ ÅëÇØ¼­ ³Ñ¾î¿É´Ï´Ù. ÀÌ´Â ÀÌÀü¿¡ Ç¥·Î½á ÀÌ¹Ì °°ÀÌ »ìÆìº¸¾Ò¾úÁÒ.(ÁøÂ¥ÀÔ´Ï´Ù. À§·Î ¿Ã¶ó°¡¼­ È®ÀÎÇØ º¸¼¼¿ä) ÇØ¼­, ¸¸ÀÏ ÇöÀç Ŭ¸¯µÈ ¹öưÀÇ CommandNameÀÌ "edit" ¶ó¸é DataList1.EditItemIndex¿¡ ÇöÀç ¼±ÅÃµÈ ¾ÆÀÌÅÛÀÇ ItemIndex¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ÁöÁ¤À¸·Î ÇöÀçÀÇ ÁöÁ¤µÈ ÅÛÇø´ ¾ÆÀÌÅÛÀÌ EditItemTemplateÀ¸·Î ´ëüµÇ´Â °ÍÀÌÁÒ. ÀÌ·¯ÇÑ ÀÌÀ¯·Î [º¯°æ] ¹öư ÄÁÆ®·ÑÀÇ CommandName ¼Ó¼ºÀÇ °ªÀ» ¿ì¸®°¡ "edit"¶ó°í ¹Ì¸® ÁöÁ¤ÇØ µÎ¾ú´ø °ÍÀÔ´Ï´Ù. [¼±ÅÃ] ¹öư°ú ±¸º°ÇÒ ¼ö ÀÖµµ·Ï Çϱâ À§Çؼ­ ¸»ÀÔ´Ï´Ù.

±×·¸´Ù¸é, ÀÌÁ¦ ÆäÀÌÁö¸¦ ÄÄÆÄÀÏÇÏ°í ´Ù½Ã±Ý ½ÇÇàÇØ º¸µµ·Ï Çϼ¼¿ä. ¿ì¸®ÀÇ ¿¹»ó´ë·Î Àß µ¿ÀÛÇÏ´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖÀ» °Ì´Ï´Ù. ¹°·Ð, º¯°æµÈ µ¥ÀÌÅ͸¦ ½ÇÁ¦·Î ó¸®ÇÏ´Â ºÎºÐÀº ¾ÆÁ÷ ÀÛ¼ºÇÏÁö ¾Ê¾Ò±â¿¡ ±× ºÎºÐÀº µ¿ÀÛÇÏÁö ¾ÊÀ» °ÍÀÌÁö¸¸ ¸»ÀÔ´Ï´Ù.(ÀÌ ¼Ò½º´Â ´Ù¿î·ÎµåÇÑ ÆÄÀϵé Áß¿¡¼­ DataListEx1plus2.aspx¶ó´Â À̸§À¸·Î Á¸ÀçÇϰí ÀÖ½À´Ï´Ù)

´ÙÀ½ °­Á¿¡¼­´Â Command °ü·Ã À̺¥Æ®µé¿¡ ´ëÇØ¼­ À̾߱âÇÏ´Â °ÍÀ» ½ÃÀÛÀ¸·Î DataList ÄÁÆ®·ÑÀÇ µÎ ¹øÂ° À̾߱⸦ ÁøÇàÇØ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.

 

°­Á ¸ñ·ÏÀ¸·Î..