|
°Á Àü Å¿ÀÀÇ Àâ´ã>
¾È³çÇϼ¼¿ä. ^^;; À̹ø¿¡ »õ·Ó°Ô Å¿À»çÀÌÆ®¿¡ °Á¸¦ ¿¬ÀçÇÏ°Ô µÈ ¿£Æ½½ºÀÔ´Ï´Ù. ^^;;
°³¹ßÀÚ¶ó¸é ´©±¸³ª ¾Ë°í ÀÖ´Â À¯¸íÇÑ »çÀÌÆ®ÀÎ Å¿À»çÀÌÆ®¿¡ ¿¬À縦 ÇÏ°Ô µÇ¾î¼ »ó´çÇÑ ¿µ±¤À̶ó°í
»ý°¢Çϸç, ¸¹Àº µµ¿òÀÌ µÉ ¼ö ÀÖµµ·Ï ¿½ÉÈ÷ ³ë·ÂÇϰڽÀ´Ï´Ù. ^^;;
±âÁ¸ÀÇ ASP.NET 1.x ¹öÀü¿¡¼ ASP.NET 2.0 ¹öÀüÀÇ Áõ°¡ ¶§¿¡´Â ¸¹Àº À¯¿ëÇÑ ÄÁÆ®·ÑÀÌ Ãß°¡µÈ ¹Ý¸é¿¡, ASP.NET 3.5¿¡¼´Â ±×´ÙÁö ASP.NET 2.0°úÀÇ Â÷ÀÌÁ¡À» ´À³¢Áö ¸øÇÒ Á¤µµ·Î º¯ÈµÈ Á¡ÀÌ ¾ø´Âµ¥¿ä.... ±×·¡µµ ASP.NET 3.5¿¡ »õ·Ó°Ô Ãß°¡µÈ ListView ÄÁÆ®·Ñ¿¡ ´ëÇØ¼ ª¸·ÇϰԳª¸¶ ¼³¸íÀ» µå¸®°íÀÚ ÇÕ´Ï´Ù.
ListView ÄÁÆ®·Ñ Part1
ListView ÄÁÆ®·ÑÀº »õ·Ó°Ô ASP.NET 3.5¿¡¼ Ãß°¡µÈ µ¥ÀÌÅÍ ¹Ù¿îµå ÄÁÆ®·Ñ·Î½á, GridView ÄÁÆ®·Ñ°ú °ÅÀÇ ±â´ÉÀÌ À¯»çÇÏÁö¸¸ Á» ´õ °³¹ßÀÚ¿¡°Ô À¯¿¬ÇÏ°Ô ÇÁ·Î±×·¡¹ÖÀ» ÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» Á¦°øÇÏ´Â ÄÁÆ®·ÑÀÔ´Ï´Ù.
ListView ÄÁÆ®·Ñ¿¡¼ ³»¿ëÀ» Ãâ·ÂÇϱâ À§ÇÑ ÅÛÇø´ÀÇ Á¾·ù´Â ¿©·¯°¡Áö°¡ ÀÖÀ¸¸ç, ÀÌÁß LayoutTemplate ÅÛÇø´°ú ItemTemplate ÅÛÇø´Àº ÇʼöÀûÀ¸·Î Æ÷ÇԵǾî¾ß ÇÕ´Ï´Ù. ListView ÄÁÆ®·Ñ¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Â ÅÛÇø´ÀÇ Á¾·ù¿Í ¼³¸íÀº ¾Æ·¡ÀÇ Å×À̺í°ú °°½À´Ï´Ù. (¾Æ·¡ÀÇ Å×À̺íÀº MSDNÀÇ ListView Ŭ·¡½º¿¡ Á¤ÀÇµÈ ¼³¸íÀ» ±×´ë·Î »ç¿ëÇÏ¿´½À´Ï´Ù.)
|
ÅÛÇø´¸í |
¼³¸í | | LayoutTemplate | ItemTemplate ¶Ç´Â GroupTemplate ÅÛÇø´¿¡ Á¤ÀÇµÈ ³»¿ëÀ» Æ÷ÇÔÇÒ table, div ¶Ç´Â span ¿ä¼Ò¿Í °°Àº ÄÁÅ×ÀÌ³Ê °³Ã¼¸¦ Á¤ÀÇÇÏ´Â ·çÆ® ÅÛÇø´ÀÔ´Ï´Ù. ÀÌ ÅÛÇø´¿¡´Â DataPager °³Ã¼µµ Æ÷Ç﵃ ¼ö ÀÖ½À´Ï´Ù. |
| ItemTemplate |
°³º° Ç׸ñ¿¡ ´ëÇØ Ç¥½ÃÇÒ µ¥ÀÌÅÍ ¹ÙÀεùµÈ ³»¿ëÀ» Á¤ÀÇÇÕ´Ï´Ù. |
| ItemSeparatorTemplate |
°³º° Ç׸ñ »çÀÌ¿¡ ·»´õ¸µÇÒ ³»¿ëÀ» Á¤ÀÇÇÕ´Ï´Ù. |
| GroupTemplate | ItemTemplate ¹× EmptyItemTemplate ÅÛÇø´¿¡ Á¤ÀÇµÈ ³»¿ëÀ» Æ÷ÇÔÇÒ Å×À̺í Çà(tr), div ¶Ç´Â span ¿ä¼Ò¿Í °°Àº ÄÁÅ×ÀÌ³Ê °³Ã¼¸¦ Á¤ÀÇÇÕ´Ï´Ù. ±×·ì¿¡ Ç¥½ÃµÇ´Â Ç׸ñ ¼ö´Â GroupItemCount ¼Ó¼º¿¡ ÀÇÇØ ÁöÁ¤µË´Ï´Ù. | | GroupSeparatorTemplate | Ç׸ñ ±×·ì »çÀÌ¿¡ ·»´õ¸µÇÒ ³»¿ëÀ» Á¤ÀÇÇÕ´Ï´Ù. | | EmptyItemTemplate | GroupTemplate ÅÛÇø´ÀÌ »ç¿ëµÈ °æ¿ì ºó Ç׸ñ¿¡ ´ëÇØ ·»´õ¸µÇÒ ³»¿ëÀ» Á¤ÀÇÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, GroupItemCount ¼Ó¼ºÀÌ 5·Î ¼³Á¤µÇ¾î ÀÖ°í, µ¥ÀÌÅÍ ¼Ò½º¿¡¼ ¹ÝȯµÈ Àüü Ç׸ñ ¼ö°¡ 8°³À̸é ListView ÄÁÆ®·Ñ¿¡ Ç¥½ÃµÇ´Â ¸¶Áö¸· µ¥ÀÌÅÍ ±×·ì¿¡´Â ItemTemplate ÅÛÇø´¿¡ ÁöÁ¤µÈ 3°³ÀÇ Ç׸ñ°ú EmptyItemTemplate ÅÛÇø´¿¡ ÁöÁ¤µÈ 2°³ÀÇ Ç׸ñÀÌ Æ÷ÇԵ˴ϴÙ. | | EmptyDataTemplate | µ¥ÀÌÅÍ ¼Ò½º¿¡¼ µ¥ÀÌÅ͸¦ ¹ÝȯÇÏÁö ¾Ê´Â °æ¿ì ·»´õ¸µÇÒ ³»¿ëÀ» Á¤ÀÇÇÕ´Ï´Ù. | | SelectedItemTemplate | ¼±ÅÃÇÑ Ç׸ñÀ» ´Ù¸¥ Ç׸ñ°ú ±¸º°Çϱâ À§ÇØ ¼±ÅÃÇÑ µ¥ÀÌÅÍ Ç׸ñ¿¡ ´ëÇØ ·»´õ¸µÇÒ ³»¿ëÀ» Á¤ÀÇÇÕ´Ï´Ù. | | AlternatingItemTemplate | ¿¬¼ÓµÈ Ç׸ñÀ» ½±°Ô ±¸º°Çϱâ À§ÇØ ´ëü Ç׸ñ¿¡ ´ëÇØ ·»´õ¸µÇÒ ³»¿ëÀ» Á¤ÀÇÇÕ´Ï´Ù. | | EditItemTemplate | Ç׸ñÀ» ÆíÁýÇÒ ¶§ ·»´õ¸µÇÒ ³»¿ëÀ» Á¤ÀÇÇÕ´Ï´Ù. EditItemTemplate ÅÛÇø´ÀÌ ItemTemplate ÅÛÇø´ ´ë½Å ÆíÁý ÁßÀÎ µ¥ÀÌÅÍ Ç׸ñ¿¡ ´ëÇØ ·»´õ¸µµË´Ï´Ù. | | InsertItemTemplate | Ç׸ñÀ» »ðÀÔÇϱâ À§ÇØ ·»´õ¸µÇÒ ³»¿ëÀ» Á¤ÀÇÇÕ´Ï´Ù. InsertItemTemplate ÅÛÇø´ÀÌ ItemTemplate ÅÛÇø´ ´ë½Å ListView ÄÁÆ®·Ñ¿¡ Ç¥½ÃµÈ Ç׸ñÀÇ Ã³À½À̳ª ³¡¿¡¼ ·»´õ¸µµË´Ï´Ù. ListView ÄÁÆ®·ÑÀÇ InsertItemPosition ¼Ó¼ºÀ» »ç¿ëÇÏ¿© InsertItemTemplate ÅÛÇø´ÀÇ ·»´õ¸µ À§Ä¡¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. |
¿ì¼±, ListView ÄÁÆ®·Ñ¿¡¼ »ç¿ëÇÒ µ¥ÀÌÅ͸¦ ÀúÀåÇÏ´Â Å×À̺íÀ» ¸¸µé¾îº¸µµ·Ï ÇϰڽÀ´Ï´Ù. Å×À̺í¸íÀº "VIDEOLIST_ASPNET35"À̸ç, ¾Æ·¡ÀÇ ½ÇÇàÇÏ¿© µ¥ÀÌÅ͸¦ Å×ÀÌºí¿¡ Ãß°¡Çϵµ·Ï ÇÕ´Ï´Ù. (À̹ÌÁö´Â Images Æú´õ ¾Æ·¡¿¡ ¹Ì¸® ÀúÀåÀ» ½ÃÄÑ ³õ¾ÒÀ¸¸ç, ÇÊ¿äÇϽŠºÐÀº ASP.NET 3.5 VIDEOS¿¡ °¡¼Å¼ À̹ÌÁö¸¦ ´Ù¿î·ÎµåÇÏ½Ã¸é µË´Ï´Ù.)
insert into videolist_aspnet35 values ('ASP.NET AJAX Support in Visual Studio 2008', 'You will get a quick overview of the inclusion of ASP.NET AJAX into Visual Studio 2008 (Orcas) and .NET 3.5. This will be demonstrated by using Visual Studio 2008 and the building of web site application.', 'images/video-224.jpg')
insert into videolist_aspnet35 values ('The ListView Control', 'By creating a new website, I will demonstrate the new ListView control. Because the ListView is data drive, we will need a data source. You can use any data source: SQL, object data, link data or XAML. I will use my blog as the data source in this video.', 'images/video-225.jpg')
insert into videolist_aspnet35 values ('The DataPager Control', 'Generally the DataPager control is used with the ListView control. The ListView control is data driven. First create a ListView control and provide it some data. Next drop the DataPager control onto the page to enhance the web page functionally. If you have not watched the ListView control How-Do-I video it would be best to review it before using the DataPager control.', 'images/video-221.jpg')
insert into videolist_aspnet35 values ('Visual Studio 2008 and Nested Masterpages', 'I will use a web template from oswd.org to demonstrate the use of Master Pages and how they are supported in Visual Studio 2008. Specifically, I will show the inheritance features by using two Master Pages.', 'images/video-226.jpg')
insert into videolist_aspnet35 values ('New Designer Support in Visual Studio 2008', 'In this video I will demonstrate several of the new designer features in Visual Studio 2008.', 'images/video-220.jpg')
|
À§ÀÇ Äڵ带 ½ÇÇà½ÃŲ ÈÄ "VIDEOLIST_ASPNET35" Å×ÀÌºí¿¡ ÀÔ·ÂµÈ µ¥ÀÌÅÍ´Â ¾Æ·¡¿Í °°ÀÌ Ç¥ÇöµË´Ï´Ù.
ListView ÄÁÆ®·Ñ¿¡¼ »ç¿ëÇϱâ À§Çؼ SqlDataSource ÄÁÆ®·ÑÀ» ÀÌ¿ëÇÏ¿© "VIDEOLIST_ASPNET35" Å×À̺í Á¤º¸¸¦ ¿¬°á½Ã۵µ·Ï ÇϰڽÀ´Ï´Ù. SqlDataSource ÄÁÆ®·ÑÀ» À¥ Æû¿¡ Ãß°¡ÇÑ ÈÄ, SqlDataSourceÀÇ ½º¸¶Æ® ű׸¦ ÀÌ¿ëÇÏ¿© "µ¥ÀÌÅÍ ¼Ò½º ±¸¼º(Configure Data Source...)" ¸Þ´º¸¦ ÀÌ¿ëÇÏ¿© µ¥ÀÌÅÍ ¼Ò½º ±¸¼º ¸¶¹ý»ç¸¦ ½ÇÇà½ÃŲ ÈÄ, ÇÊ¿äÇÑ Á¤º¸¸¦ ÀÔ·ÂÇÏ¿© µ¥ÀÌÅÍ ¼Ò½º ±¸¼º ¸¶¹ý»ç¸¦ Á¾·áÇÕ´Ï´Ù.
´ÙÀ½À¸·Î, µ¥ÀÌÅ͸¦ Ãâ·ÂÇϱâ À§ÇÑ ListView ÄÁÆ®·ÑÀ» µµ±¸ »óÀÚ¿¡¼ µå·¡±× ¾Ø µå¶øÀ¸·Î À¥ Æû¿¡ À§Ä¡½ÃŲ ÈÄ, À§¿¡¼ ¼³¸íÇÑ ListView ÄÁÆ®·ÑÀÇ ÅÛÇø´ Áß¿¡¼ Çʼö ÅÛÇø´ÀÎ LayoutTemplate ÅÛÇø´°ú ItemTemplate ÅÛÇø´À» »ç¿ëÇÏ¿© µ¥ÀÌÅ͸¦ Ãâ·ÂÇÏ´Â Äڵ带 ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºÇÕ´Ï´Ù.
|
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ListViewControlEx.aspx.cs" Inherits="ListViewControlEx" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>ListView Control Example</title> <style type="text/css"> .td_header { border-top:1px solid gray;border-bottom:1px solid gray;background-color:#D5D5D5;text-align:center; } .td_item {border-bottom:1px dotted gray;} </style> </head> <body> <form id="form1" runat="server"> <div> <asp:ListView ID="ListView1" runat="server" DataSourceID="SqlDataSource1" ItemPlaceholderID="phItemList"> <LayoutTemplate> <table width="550px" cellpadding="0" cellspacing="0" border="0"> <tr valign="middle"> <td class="td_header" style="width:40%">VideoImage</td> <td class="td_header" style="width:60%">VideoDescription</td> </tr> <asp:PlaceHolder ID="phItemList" runat="server"></asp:PlaceHolder> </table> </LayoutTemplate> <ItemTemplate> <tr valign="middle"> <td class="td_item" style="width:40%"> <asp:Image ID="ImgVideo" runat="server" ImageAlign="AbsMiddle" ImageUrl='<%#Eval("VideoImageSrc")%>' /> </td> <td class="td_item" style="width:60%"> <strong><%#Eval("VideoName")%></strong><hr /> <p><%#Eval("VideoDesc")%></p> </td> </tr> </ItemTemplate> </asp:ListView> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ArticleDataBaseConnectionString %>" SelectCommand="SELECT [VideoID], [VideoDesc], [VideoName], [VideoImageSrc] FROM [VIDEOLIST_ASPNET35]"></asp:SqlDataSource> </div> </form> </body> </html>
|
À§ÀÇ Äڵ带 ¹ÙÅÁÀ¸·Î ListView ÄÁÆ®·ÑÀÌ Àû¿ëµÈ À¥ ºê¶ó¿ìÀúÀÇ È¸éÀ» º¸¸é ´ÙÀ½°ú °°ÀÌ µ¥ÀÌÅͰ¡ Ç¥ÇöµÇ°Ô µË´Ï´Ù.
À§¿¡¼ º¸´Â °Í°ú °°ÀÌ GridView ÄÁÆ®·ÑÀ» ÀÌ¿ëÇÏ¿© ¸®½ºÆ® ȸéÀ» Ãâ·ÂÇÏ´Â °Íº¸´Ù´Â Á» ´õ HTML¿¡ °ü·ÃµÈ Äڵ带 °³¹ßÀÚ°¡ ¼Õ½±°Ô Àû¿ëÇÒ ¼ö ÀÖµµ·Ï µÇ¾î ÀÖ´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.
<ÁÖÀÇ>
¿©·¯ºÐÀÌ À§¿Í °°ÀÌ Äڵ带 ÀÛ¼ºÇÑ ÈÄ ºê¶ó¿ìÀú¿¡¼ º¼ °æ¿ì¿¡ °£È¤ ¾Æ·¡¿Í °°Àº ¿À·ù¸¦ ¸¸³ª°Ô µÉ ¼öµµ ÀÖ½À´Ï´Ù.
À§¿Í °°Àº ¿À·ù´Â ListView ÄÁÆ®·Ñ¿¡´Â ItemPlaceholderID¶ó´Â ¼Ó¼ºÀÌ ¹Ýµå½Ã ÁöÁ¤µÇ¾î¾ß Çϴµ¥, ÁöÁ¤ÀÌ µÇÁö ¾Ê¾Æ¼ ¹ß»ýÇÏ´Â ¿À·ùÀÔ´Ï´Ù. ÀÌ´Â, LayoutTemplate ÅÛÇø´¿¡ ItemTemplate ÅÛÇø´¿¡ Á¤ÀÇµÈ ³»¿ëÀ» Ãâ·ÂÇØÁÖ±â À§ÇÑ Æ¯Á¤ ÀÚ¸®¸¦ ÁöÁ¤ÇÏ´Â ÄÁÆ®·ÑÀ» ItemPlaceholderID ¼Ó¼º¿¡ ¹Ýµå½Ã ÁöÁ¤ÇؾßÇϱ⠶§¹®ÀÔ´Ï´Ù. ÀϹÝÀûÀ¸·Î, ItemPlaceholderID ¼Ó¼º¿¡ ÁöÁ¤µÇ´Â ÄÁÆ®·ÑÀº ȸ鿡 ¾î¶°ÇÑ HTML Äڵ嵵 Ç¥ÇöÇÏÁö ¾Ê´Â PlaceHolder ÄÁÆ®·ÑÀ» ÀÌ¿ëÇÏ°Ô µÇ¸ç, <ÄÚµå 2>¿¡¼µµ PlaceHolder ÄÁÆ®·ÑÀ» ÀÌ¿ëÇÏ¿´½À´Ï´Ù. ¶Ç´Â ListView ÄÁÆ®·Ñ¿¡ ItemPlaceholderID ¼Ó¼ºÀ» ÁöÁ¤ÇÏÁö ¾ÊÀ» °æ¿ì¿¡´Â LayoutTemplate ÅÛÇø´¿¡ Á¤ÀÇµÈ ÄÁÆ®·Ñ Áß ItemTemplate ÅÛÇø´¿¡ Á¤ÀÇµÈ ³»¿ëÀ» Ãâ·ÂÇØÁÖ±â À§ÇÑ ÄÁÆ®·ÑÀÇ ID¸¦ "itemPlaceholder"·Î ÁöÁ¤ÇØÁÖ¸é µË´Ï´Ù.
LayoutTemplate ÅÛÇø´°ú ItemTemplate ÅÛÇø´Àº À§¿¡¼ °£´ÜÇÏ°Ô ¼³¸íµå·ÈÀ¸¸ç, »ç¿ë ¹æ¹ý ¶ÇÇÑ ±×·¸°Ô ¾î·ÆÁö ¾ÊÀ¸¹Ç·Î º°µµÀÇ ¼³¸íÀº »ý·«Çϵµ·Ï ÇϰڽÀ´Ï´Ù. ÀÌÁ¦ºÎÅÍ ListView ÄÁÆ®·Ñ¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Â ´Ù¸¥ ÅÛÇø´¿¡ ´ëÇØ¼ °£´ÜÇÏ°Ô ¼³¸íÀ» µå¸®µµ·Ï ÇϰڽÀ´Ï´Ù.
1. ItemSeparatorTemplate ÅÛÇø´
: ItemSeparatorTemplate ÅÛÇø´À» »ç¿ëÇϸé, ·»´õ¸µ ½Ã¿¡ ItemTemplate ÅÛÇø´ »çÀÌ¿¡ ItemSeparatorTemplate ÅÛÇø´¿¡ Á¤ÀÇµÈ ³»¿ëÀÌ È¸é¿¡ Ãâ·ÂµÇ°Ô µË´Ï´Ù.
|
<ItemSeparatorTemplate> <tr> <td class="td_seperate" style="width:100%" colspan="2"> </td> </tr> </ItemSeparatorTemplate>
|
À§ÀÇ ItemSeparatorTemplate ÅÛÇø´À» Àû¿ëÇÑ ListView ÄÁÆ®·ÑÀÇ È¸éÀº ´ÙÀ½°ú °°ÀÌ ³ªÅ¸³ª°Ô µË´Ï´Ù.
2. GroupTemplate ÅÛÇø´
: GroupTemplate ÅÛÇø´À» »ç¿ëÇϸé, ȸé Ãâ·Â ½Ã¿¡ ¹ÙµÏÆÇ½Ä(?)ÀÇ ·¹À̾ƿôÀ» ¸¸µé ¼ö ÀÖ½À´Ï´Ù. ÀÌ´Â DataList ÄÁÆ®·ÑÀÇ RepeatColumns ¼Ó¼º°ú RepeatDirection ¼Ó¼ºÀ» »ç¿ëÇÑ °Í°ú °°Àº È¿°ú¸¦ ³ªÅ¸³¾ ¼ö ÀÖ½À´Ï´Ù. GroupTemplate ÅÛÇø´À» »ç¿ëÇϱâ À§Çؼ´Â ListView ÄÁÆ®·ÑÀÇ GroupPlaceholderID ¼Ó¼º¿¡ LayoutTemplate ÅÛÇø´¿¡ GroupTemplate ÅÛÇø´¿¡ Á¤ÀÇµÈ ³»¿ëÀ» Ãâ·ÂÇØÁÖ±â À§ÇÑ Æ¯Á¤ ÀÚ¸®¸¦ ÁöÁ¤ÇÏ´Â ÄÁÆ®·ÑÀ» ItemPlaceholderID ¼Ó¼º°ú ¸¶Âù°¡Áö·Î ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù. ±× ÈÄ¿¡ GroupTemplate ÅÛÇø´ ¾È¿¡ ItemTemplate ÅÛÇø´¿¡ Á¤ÀÇµÈ ³»¿ëÀ» Ãâ·ÂÇØÁÖ±â À§ÇÑ ÄÁÆ®·ÑÀ» ListView ÄÁÆ®·ÑÀÇ ItemPlaceholderID ¼Ó¼º¿¡ Á¤ÀÇÇÕ´Ï´Ù. (¶Ç´Â LayoutTemplate¿¡ GroupTemplate ÅÛÇø´¿¡ Á¤ÀÇµÈ ³»¿ëÀ» Ãâ·ÂÇØÁÖ±â À§ÇÑ ÄÁÆ®·ÑÀÇ ID¸¦ "groupPlaceholder"·Î ÁöÁ¤Çϰí, GroupTemplate ÅÛÇø´¿¡¼ Ç¥ÇöÇϱâ À§ÇÑ ItemTemplate ÅÛÇø´¿¡ Á¤ÀÇµÈ ³»¿ëÀ» Ãâ·ÂÇØÁÖ±â À§ÇÑ ÄÁÆ®·ÑÀÇ ID¸¦ "itemPlaceholder"·Î ÁöÁ¤ÇØÁÖ¸é µË´Ï´Ù.). ListView ÄÁÆ®·ÑÀÇ GroupItemCount ¼Ó¼ºÀ» ÀÌ¿ëÇÏ¿© ȸ鿡 Ãâ·ÂÇÒ ¹Ýº¹ ȸ¼ö¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ÀÇ ÄÚµå´Â GroupTemplate ÅÛÇø´À» »ç¿ëÇÑ ListViewÀÇ Äڵ带 º¸¿©ÁÖ°í ÀÖ½À´Ï´Ù.
|
<asp:ListView ID="ListView2" runat="server" DataSourceID="SqlDataSource1" GroupPlaceholderID="phGroupList" ItemPlaceholderID="phItemList" GroupItemCount="2"> <LayoutTemplate> <table width="600px" cellpadding="0" cellspacing="0" border="0"> <tr valign="middle"> <td class="td_header" style="width:20%">VideoImage</td> <td class="td_header" style="width:30%">VideoDescription</td> <td class="td_header" style="width:20%">VideoImage</td> <td class="td_header" style="width:30%">VideoDescription</td> </tr> <asp:PlaceHolder ID="phGroupList" runat="server"></asp:PlaceHolder> </table> </LayoutTemplate> <GroupTemplate> <tr valign="middle"> <asp:PlaceHolder ID="phItemList" runat="server"></asp:PlaceHolder> </tr> </GroupTemplate> <ItemTemplate> <td style="width:20%;text-align:center;"> <asp:Image ID="ImgVideo" runat="server" ImageAlign="AbsMiddle" ImageUrl='<%#Eval("VideoImageSrc")%>' /> </td> <td style="width:30%"> <strong><%#Eval("VideoName")%></strong><hr /> <p><%#Eval("VideoDesc")%></p> </td> </ItemTemplate> </asp:ListView>
|
GroupTemplate ÅÛÇø´À» »ç¿ëÇÑ ListView ÄÁÆ®·ÑÀÇ È¸éÀº ´ÙÀ½°ú °°½À´Ï´Ù.
3. GroupSeparatorTemplate ÅÛÇø´
: GroupSeparatorTemplate ÅÛÇø´Àº ItemSeparatorTemplate ÅÛÇø´°ú ¸¶Âù°¡ÁöÀÇ ¿ªÇÒÀ» Çϸç, ·»´õ¸µ ½Ã¿¡ GroupTemplate ÅÛÇø´ »çÀÌ¿¡ GroupSeparatorTemplate ÅÛÇø´¿¡ Á¤ÀÇµÈ ³»¿ëÀÌ È¸é¿¡ Ãâ·ÂµÇ°Ô µË´Ï´Ù. GroupSeparatorTemplate ÅÛÇø´À» À§ÇÑ Äڵ带 ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºÇÑ ÈÄ, À¥ ºê¶ó¿ìÀú¿¡¼ º¸¸é ¾Æ·¡ÀÇ È¸é°ú °°ÀÌ Ç¥ÇöµÇ°Ô µË´Ï´Ù.
|
<GroupSeparatorTemplate> <tr> <td class="td_seperate" style="width:100%" colspan="4"> </td> </tr> </GroupSeparatorTemplate>
|
4. EmptyItemTemplate ÅÛÇø´
: EmptyItemTemplate ÅÛÇø´Àº GroupTemplate ÅÛÇø´À» »ç¿ëÇÑ °æ¿ì¿¡, ºó Ç׸ñ¿¡ ·»´õ¸µµÉ ³»¿ëÀ» Á¤ÀÇÇÏ´Â ÅÛÇø´ÀÔ´Ï´Ù. ListView ÄÁÆ®·ÑÀÇ GroupItemCount ¼Ó¼º¿¡ 2¸¦ ÁöÁ¤ÇÏ¿´°í, Å×ÀÌºí¿¡ µé¾îÀÖ´Â µ¥ÀÌÅÍ´Â ÃÑ 5°³À̹ǷÎ, ¸¶Áö¸· µ¥ÀÌÅ͸¦ Ãâ·ÂÇÒ °æ¿ì ¿ìÃøÀÇ TableCell¿¡´Â °ªÀÌ ¾ø°Ô µË´Ï´Ù. ÀÌ·¯ÇÑ ºó TableCell ºÎºÐÀ» Á¤ÀÇÇØÁÖ´Â ÅÛÇø´ÀÔ´Ï´Ù. EmptyItemTemplate ÅÛÇø´À» »ç¿ëÇÏ´Â ÄÚµå´Â ¾Æ·¡¿Í °°½À´Ï´Ù.
|
<EmptyItemTemplate> <td style="width:50%" colspan="2"> <div style="text-align:center;border:1px solid purple;"><b>NO DATA</b></div> </td> </EmptyItemTemplate>
|
EmptyItemTemplate ÅÛÇø´À» »ç¿ëÇÑ ÈÄ, ºó Ç׸ñ¿¡ ·»´õ¸µµÇ´Â ȸéÀº À§ÀÇ Äڵ忡 Á¤ÀÇÇÑ °Í°ú °°ÀÌ "NO DATA"¶ó´Â Ç׸ñÀÌ ¾Æ·¡ÀÇ È¸é°ú °°ÀÌ ³ªÅ¸³ª°Ô µË´Ï´Ù.
5. EmptyDataTemplate ÅÛÇø´
: EmptyDataTemplate ÅÛÇø´Àº ¹ÝȯµÇ´Â µ¥ÀÌÅͰ¡ ¾øÀ» °æ¿ì¿¡ ȸ鿡 Ç¥½ÃµÇ´Â ³»¿ëÀ» Á¤ÀÇÇÏ´Â ÅÛÇø´ÀÔ´Ï´Ù. SqlDataSourceÀÇ Äõ¸®¸¦ º¯°æÇÏ¿© ¹ÝȯµÇ´Â µ¥ÀÌÅͰ¡ ¾ø°Ô ÇÑ ÈÄ, ¾Æ·¡¿Í °°ÀÌ EmptyDataTemplate ÅÛÇø´À» Ãß°¡ÇÑ ÈÄ µ¥ÀÌÅͰ¡ ¾øÀ» °æ¿ì¿¡ ȸ鿡 º¸¿©Áö±â À§ÇÑ HTML Äڵ带 ÀÛ¼ºÇÕ´Ï´Ù.
|
<EmptyDataTemplate> <table width="600px" cellpadding="0" cellspacing="0" border="0"> <tr valign="middle"> <td class="td_header" style="width:20%">VideoImage</td> <td class="td_header" style="width:30%">VideoDescription</td> <td class="td_header" style="width:20%">VideoImage</td> <td class="td_header" style="width:30%">VideoDescription</td> </tr> <tr valign="middle"> <td style="width:100%" colspan="4" class="td_item"> <center><b>NO DATA</b></center> </td> </tr> </table> </EmptyDataTemplate>
|
EmptyDataTemplate ÅÛÇø´¿¡ ÀÇÇØ¼ µ¥ÀÌÅͰ¡ ¾øÀ» °æ¿ì¿¡´Â ¾Æ·¡ÀÇ È¸é°ú °°ÀÌ º¸¿©Áö°Ô µË´Ï´Ù.
<ÁÖÀÇ> EmptyDataTemplate ÅÛÇø´ÀÌ »ç¿ëµÇ´Â °æ¿ì´Â LayoutTemplate ÅÛÇø´¿¡ Á¤ÀÇµÈ ³»¿ëµµ ³ª¿ÀÁö ¾Ê±â ¶§¹®¿¡ ÀÌ¿¡ ´ëÇÑ Ã³¸®µµ °°ÀÌ ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù.
6. AlternatingItemTemplate ÅÛÇø´
: AlternatingItemTemplate ÅÛÇø´Àº ȸ鿡 Ãâ·ÂµÇ´Â µ¥ÀÌÅÍÀÇ Á¤º¸¸¦ ±¸º°Çϱâ À§ÇÑ ³»¿ëÀ» Á¤ÀÇÇÏ´Â ÅÛÇø´ÀÔ´Ï´Ù. ¿©·¯ºÐµéµµ ¾Æ½Ã´Ù½ÃÇÇ, Ȧ¼ö¹øÂ°ÀÇ Ç׸ñÀº ItemTemplate ÅÛÇø´¿¡ Á¤ÀÇµÈ Äڵ尡 ȸ鿡 º¸¿©Áö°Ô µÇ¸ç, ¦¼ö¹øÂ°ÀÇ Ç׸ñÀº AlternatingItemTemplate ÅÛÇø´À» »ç¿ëÇÒ °æ¿ì AlternatingItemTemplate ÅÛÇø´¿¡ Á¤ÀÇµÈ Äڵ尡 º¸¿©Áö°Ô µË´Ï´Ù.
|
<AlternatingItemTemplate> <tr valign="middle"> <td style="width:40%;text-align:center;" class="td_alteritem"> <asp:Image ID="ImgVideo" runat="server" ImageAlign="AbsMiddle" ImageUrl='<%#Eval("VideoImageSrc")%>' /> </td> <td style="width:60%" class="td_alteritem"> <strong><%#Eval("VideoName")%></strong><hr /> <p><%#Eval("VideoDesc")%></p> </td> </tr> </AlternatingItemTemplate>
|
AlternatingItemTemplate ÅÛÇø´À» »ç¿ëÇÑ ListView ÄÁÆ®·ÑÀÇ È¸éÀº ¾Æ·¡¿Í °°½À´Ï´Ù.
ÀÌ»óÀ¸·Î, °£´ÜÇϳª°Ô¸¶ ListView ÄÁÆ®·Ñ¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Â ÅÛÇø´¿¡ ´ëÇØ¼ ¾Ë¾Æº¸¾Ò½À´Ï´Ù. ¿©±â¿¡¼ ¼³¸íµå¸®Áö ¸øÇÑ SelectedItemTemplate ÅÛÇø´, EditItemTemplate ÅÛÇø´, ±×¸®°í InsertItemTemplate ÅÛÇø´Àº ÃßÈÄ ÀÛ¼ºÇÒ ListView ÄÁÆ®·ÑÀÇ Part 2¿¡¼ ¼³¸íÀ» µå¸®µµ·Ï ÇϰڽÀ´Ï´Ù.
°Á ¸ñ·ÏÀ¸·Î..
|