|
°Á Àü Å¿ÀÀÇ Àâ´ã>
³¯¾¾°¡ ¹«´þ³×¿ä... ¹öÁö´Ï¾Æ¿¡´Â ¹ú½á ÄÚ½º¸ð½º°¡ ÇǾúÀ½¿¡µµ.. ³¯¾¾´Â
¹«´þ½À´Ï´Ù. µ¿ºÎ Áö¿ªÀ̶ó.... ±âÈİ¡ Çѱ¹°ú °ÅÀÇ °°°Åµç¿ä.... °Ü¿ì 3´Þ ³ª¿ÍÀÖ¾ú´Âµ¥µµ... Çѱ¹¿¡ ÀÖ´Â
°¡Á·°ú Ä£±¸µéÀÌ ±×¸³³×¿ä.. ¤Ð_¤Ð ´ÙÀ½
´Þ¿¡´Â µ¹¾Æ°¡´Ï±ñ... µ¹¾Æ°¡¸é
»ç¶÷µéÀ» ½ÇÄÆ ¸¸³ªº¼¶ø´Ï´Ù. ÇÏÇÏÇÏ...
¸ðµÎµé Áñ°Å¿î ÇÁ·Î±×·¡¹Ö µÇ¼¼¿ä ^^
´ë»ó : ASP.NETÀÇ ±âº»ÀûÀÎ ÄÁÆ®·Ñ »ç¿ë¹ýÀ» ¶¾ À̵é.
¼±¼öÁö½Ä : ADO.NET ±âº» Áö½Ä.
Àú¹ø °Á´ Àç¹ÌÀÖÀ¸¼Ì½À´Ï±î? ¾Æ¹«·¡µµ... Á¦ ASP.NET Ã¥ÀÇ ÀϺθ¦ ÆíÁýÇØ¼ ¿Ã¸®´Â °ÍÀÌ¶ó ¹®Ã¼°¡ Á¶±ÝÀº µüµüÇÑ °¨ÀÌ ¾øÁö´Â ¾Ê½À´Ï´Ù¸¸..
±×·¡µµ Àç¹ÌÀÖÀ¸¼ÌÀ¸¸®¶ó ¹Ï¾î ÀǽÉÄ¡ ¾Ê¾Æº¸·Á ÇÒ±î¿ä? -_-+
Àç¹ÌÀÖÀ¸¼Ì´ø, Àç¹Ì°¡ ¾øÀ¸¼Ì´ø °Á´ °è¼ÓµË´Ï´Ù.... ±×°Íµµ
ÂÞ~¿í ¸»ÀÔ´Ï´Ù. (°©ÀÚ±â Á¦°¡ Á» »·»·ÇÏ´Ù´Â »ý°¢ÀÌ... ¤Ð_¤Ð)
Command °ü·Ã À̺¥Æ®µé
ÀÌÁ¦ ²Ï³ª Àç¹ÌÀÖ´Â »ç½ÇÀ» Çϳª ¾Ë·Áµå¸®µµ·Ï ÇϰڽÀ´Ï´Ù. ÇÖÇÖÇÖ... ±×°ÍÀÌ
¹«¾ùÀ̳Ä? ¹Ù·Î ±×°ÍÀÌ Á¦°¡ [º¯°æ] ¹öư ÄÁÆ®·ÑÀÇ CommandName °ªÀ¸·Î "edit"¸¦ ÁØ ÁøÁ¤ÇÑ ÀÌÀ¯ÀÔ´Ï´Ù. »ç½Ç, DataList ÄÁÆ®·ÑÀº ÀÌ¹Ì Á¦°øÇϰí ÀÖ´Â 5°¡Áö Á¤µµÀÇ À̺¥Æ®°¡ ÀÖ¾î¿ä. ±× Áß¿¡ Çϳª°¡ ÀÌ¹Ì ¿ì¸®°¡ »ç¿ëÇØ º» ItemCommand À̺¥Æ® Àä, ÀÌ´Â ÄÁÆ®·Ñ ³»ºÎ¿¡ À§Ä¡ÇÑ ¾î¶°ÇÑ ¹öư ÄÁÆ®·ÑÀÌ Å¬¸¯µÇ´øÁö ¼öÇàµÇ´Â À̺¥Æ®ÀÔ´Ï´Ù. ÇÏÁö¸¸, À̰ÍÀÌ Áö¿øµÇ´Â ±â´É ¹× À̺¥Æ®ÀÇ ÀüºÎ´Â ¾Æ´Ñ °ÍÀÔ´Ï´Ù. (µÎµÕ~) DataList´Â ¾ÆÀÌÅÛÀÇ ¼öÁ¤°ú »èÁ¦ µîÀÇ ÀÛ¾÷À» ¼ö¿ùÇÏ°Ô Çϱâ À§ÇÑ ¿©·¯ °¡Áö Ãß°¡ÀûÀÎ À̺¥Æ®µéµµ Á¦°øÇØ ÁÖ°í Àְŵç¿ä. ¿¹¸¦ µé¸é, ±×µéÀº ´ÙÀ½°ú °°¾Æ¿ä.
|
À̺¥Æ®
|
¼³¸í
|
| CancelCommand
|
DataList ÄÁÆ®·Ñ¿¡ ÀÖ´Â ¾ÆÀÌÅÛ¿¡¼ CommandNameÀ¸·Î cancelÀ» °®´Â ¹öưÀ» Ŭ¸¯ÇÒ °æ¿ì ¹ß»ýÇÏ´Â À̺¥Æ®
|
| DeleteCommand
|
DataList ÄÁÆ®·Ñ¿¡ ÀÖ´Â ¾ÆÀÌÅÛ¿¡¼ CommandNameÀ¸·Î delete¸¦ °®´Â ¹öưÀ» Ŭ¸¯ÇÒ °æ¿ì ¹ß»ýÇÏ´Â À̺¥Æ®
|
| EditCommand
|
DataList ÄÁÆ®·Ñ¿¡ ÀÖ´Â ¾ÆÀÌÅÛ¿¡¼ CommandNameÀ¸·Î edit¸¦ °®´Â ¹öưÀ» Ŭ¸¯ÇÒ °æ¿ì ¹ß»ýÇÏ´Â À̺¥Æ®
|
| ItemCommand
|
DataList ÄÁÆ®·Ñ¿¡ ÀÖ´Â ¾ÆÀÌÅÛ¿¡¼ ¾î¶°ÇÑ ¹öưÀ̵çÁö Ŭ¸¯µÉ °æ¿ì ¹ß»ýÇÏ´Â À̺¥Æ®
|
| UpdateCommand
|
DataList ÄÁÆ®·Ñ¿¡ ÀÖ´Â ¾ÆÀÌÅÛ¿¡¼ CommandNameÀ¸·Î update¸¦ °®´Â ¹öưÀ» Ŭ¸¯ÇÒ °æ¿ì ¹ß»ýÇÏ´Â À̺¥Æ®
|
Ç¥¸¦ Àß »ìÆìº¸¸é,
DataList ÄÁÆ®·Ñ ³»ºÎ¿¡ ¹öư ÄÁÆ®·ÑÀÌ Á¸ÀçÇÒ °æ¿ì, ±× ¹öư ÄÁÆ®·ÑÀÇ CommandName¿¡ µû¶ó 4°¡Áö Á¤µµÀÇ À̺¥Æ®°¡ ´õ Áö¿øµÈ´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. Áï, Á» ÀüÀÇ ¿¹Á¦¿Í °°ÀÌ CommandNameÀ¸·Î "edit" ¶ó´Â °ªÀ» °®´Â ¹öưÀÌ Å¬¸¯µÈ´Ù¸é, EditCommand ¶ó´Â À̺¥Æ®µµ ¹ß»ýÇÑ´Ù´Â °ÍÀÌÁö¿ä. ±×·¯¹Ç·Î, »ç½Ç "edit"¶ó´Â CommandName ¼Ó¼º °ªÀ» °®´Â ¹öưÀÌ Å¬¸¯µÇ¾úÀ» °æ¿ìÀÇ Ã³¸®´Â ItemCommand °¡ ¾Æ´Ñ EditCommand ¿¡¼ ÇÏ´Â °ÍÀÌ º¸´Ù È¿°úÀûÀÌ¶ó º¼ ¼ö ÀÖ´Ù´Â °ÍÀ̿ɴϴÙ. ±×·¸´Ù¸é, ¼Ò½º¸¦ ±×·¸°Ô Çѹø ¹Ù²Ù¾î º¸µµ·Ï ÇØ¿ä.
EditCommand
À¥ Æû µðÀÚÀÎ ¸ðµå·Î °¡¼ DataList¸¦ ¼±ÅÃÇÑ ´ÙÀ½ [¼Ó¼º â]¿¡¼ ¹ø°³ ¸ð¾çÀÇ ¹öưÀ» Ŭ¸¯ÇÑ µÚ, Ãâ·ÂµÇ´Â À̺¥Æ®µé Áß¿¡¼ EditCommand¸¦ ¼±ÅÃÇϰí, ¿ìÃø Ä¿¡¼ ´õºí Ŭ¸¯À» ÇϽʴϴç.
±×·¯¸é, ÄÚµå ºñÇÏÀÎµå ÆäÀÌÁö·Î ÀúÀý·Î À̵¿Çϸé¼, ÀÚµ¿À¸·Î DataList1_EditCommand À̺¥Æ® 󸮱Ⱑ »ý¼ºµÇ¾îÁ® ÀÖÀ» °Å¿¹¿ä. ÀÌ¹Ì ¾ð±ÞÇßµíÀÌ, ÀÌ´Â DataList ³»ÀÇ ¹öư ÄÁÆ®·Ñ Áß CommandName¼Ó¼ºÀÇ °ªÀ¸·Î "edit"¸¦ °®´Â ¹öư ÄÁÆ®·ÑÀÌ ´·ÈÀ» °æ¿ì ¹ß»ýÇÏ´Â À̺¥Æ®ÀÔ´Ï´Ù. ±×·¸´Ù¸é, ÀÌÁ¦ ÀÌ °÷¿¡ ´ÙÀ½°ú °°Àº Äڵ带 ÀÛ¼ºÇØ º¸µµ·Ï Çϼ¼¿ä.(±×¸®°í, ±âÁ¸¿¡ ItemCommand¿¡ ÀÛ¼ºÇÑ edit¿Í °ü°èµÈ if ¹®Àº Á¦°ÅÇϵµ·Ï ÇϽÿɼҼ~~)
private void DataList1_EditCommand(object source,
System.Web.UI.WebControls.DataListCommandEventArgs e)
{
DataList1.EditItemIndex = e.Item.ItemIndex;
BindDataList();
}
private void DataList1_ItemCommand(object source,
System.Web.UI.WebControls.DataListCommandEventArgs e)
{
DataList1.SelectedIndex = e.Item.ItemIndex;
BindDataList();
}
|
¾ÆÁÖ ÀßÇß¾î¿ä. Âü ÀßÇß¾î¿ä~~~ ¿À¿Ê? ´À³¢½º·´´Ù?? ±×·¸´Ù¸é,
¾î¼ ¼µÑ·¯ ÄÄÆÄÀÏÇÏ°í °á°ú¸¦ È®ÀÎÇØ
º¸µµ·Ï Çϼ¼¿ä. ´À³¢ÇÔÀ» ³¯·Á¹ö¸®±â À§Çؼ¶óµµ ¸»ÀÔ´Ï´Ù. ^^;
Àß µ¿ÀÛÇÏÁÒ? ±×·¸½À´Ï´Ù. ÇÏÁö¸¸, ¹º°¡ ÀÌ»óÇÑ Á¡Àº ´À²¸ÁöÁö ¾Ê³ª¿ä? ¿©·¯
¾ÆÀÌÅÛÀ» ¹ø°¥¾Æ °¡¸é¼, [º¯°æ] ¹öưÀ» Ŭ¸¯ÇØ º¸¼¼¿ä. ¾ÆÀÌÅÛÀÌ ÆíÁý ¸ðµå·Î ¹Ù²î´Â °Í »Ó ¾Æ´Ï¶ó, ¼±Åà ¸ðµåµµ °°ÀÌ Àû¿ëµÇ°í ÀÖ´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖÀ» °Ì´Ï´Ù. ÀÌ°Ô ¿Ø ÀÏÀÌ·¡~~~ -_-+ ÇÏÁö¸¸, »ç½Ç ±×·² ¼ö ¹Û¿¡ ¾ø´ä´Ï´Ù. DataList ÄÁÆ®·Ñ ³»ÀÇ ¸ðµç ¹öư ÄÁÆ®·ÑÀº Ŭ¸¯ ½Ã ¹«Á¶°Ç ±âº»ÀûÀ¸·Î ItemCommand À̺¥Æ®µµ È£ÃâÇϱ⠶§¹®ÀÌÁö¿ä.
Áï, ¹Ù²ï ÄÚµå´ë·Î¶ó¸é CommandName
°ªÀÌ "edit"ÀÎ ¹öưÀÌ ´¸± °æ¿ì, ÀÏ´Ü ¹«Á¶°ÇÀûÀ¸·Î ItemCommand À̺¥Æ®°¡ ¼öÇàµÇ°í, ÀÌ¾î¼ EditCommand°¡ ¼öÇàµÈ´Ù´Â °ÍÀÔ´Ï´Ù. ±×¸®°í, °¢°¢ÀÇ À̺¥Æ® 󸮱⳻¿¡¼´Â °¢°¢ BindDataList() ÇÔ¼ö¸¦ È£ÃâÇϰí Àֱ⿡, °á°úÀûÀ¸·Î µÎ ¹øÀÇ µ¥ÀÌÅÍ ¹ÙÀεùÀÌ ÀϾ°í ÀÖ´Â °ÍÀ̱¸¿ä. À̰ÍÀº ºñÈ¿À²ÀûÀÌÁö ¾ÊÀ» ¼ö ¾øÀݽÀ´Ï²¥~~~. ÇØ¼, ÀÌ ¼Ò½º¸¦ Á¶±Ý ´õ È¿°úÀûÀ¸·Î ¹Ù²Ù´Â ¹æ¹ýÀº ´ÙÀ½°ú °°¾Æ¿ä.
¿ì¼±, ItemTemplate ³»ÀÇ [¼±ÅÃ] ¹öư ÄÁÆ®·Ñ¿¡°Ôµµ CommandNameÀ» ºÎ¿©ÇÕ´Ï´Ù. ´ÙÀ½°ú °°ÀÌ ¸»ÀÌÁÒ.
<p>
<asp:Button Runat="server" Text="¼±ÅÃ" CommandName="select"></asp:Button>
| <asp:Button
Runat="server" Text="º¯°æ"
CommandName="edit"></asp:Button>
|
</p>
</DIV>
</ItemTemplate>
|
±×¸®°í, °¢°¢ÀÇ À̺¥Æ® ÇÔ¼ö¸¦ ´ÙÀ½°ú °°ÀÌ º¯°æÇÕ´Ï´Ù
private void DataList1_ItemCommand(object source,
System.Web.UI.WebControls.DataListCommandEventArgs e)
{
if (e.CommandName == "select")
{ DataList1.
EditItemIndex =
-1;
|
DataList1.SelectedIndex = e.Item.ItemIndex;
BindDataList();
}
private void DataList1_EditCommand(object source,
System.Web.UI.WebControls.DataListCommandEventArgs e)
{
DataList1. SelectedIndex = -1;
|
DataList1.EditItemIndex = e.Item.ItemIndex;
BindDataList();
}
|
ÀÌ·¸°Ô ¹Ù²Ù¸é, ItemCommand À̺¥Æ® 󸮱âÀÇ ÄÚµå´Â ¹öư ÄÁÆ®·ÑÀÇ CommandName °ªÀÌ "select"ÀÎ °æ¿ì¿¡¸¸ µ¿ÀÛÇÏ°Ô µÉ °ÍÀ̸ç, CommandName °ªÀÌ "edit"ÀÎ °æ¿ì¿¡´Â ¹«½ÃµÉ °ÍÀ̱⿡ º¸´Ù È¿°úÀûÀ̶ó°í º¼ ¼ö ÀÖ½À´Ï´Ù.
±×¸®°í, ¼Ò½º¿¡¼´Â CommandName °ªÀÌ "select" ÀÎ °æ¿ì¿¡´Â DataListÀÇ EditItemIndex °ªÀ» -1·Î ºÎ¿©Çϰí ÀÖÀ¸¸ç, CommandName °ªÀÌ "edit" ÀÎ °æ¿ì¿¡´Â DataListÀÇ SelectedIndex °ªÀ» -1·Î ºÎ¿©Çϰí Àִµ¥¿ä, ÀÌ -1 À̶ó´Â °ªÀº °¢°¢ÀÇ ¼³Á¤À» Ãë¼ÒÇϰڴٴ ÀǹÌÀÔ´Ï´Ù. Áï, ¾î¶² ¾ÆÀÌÅÛÀÌ [¼±ÅÃ]µÇ¾úÀ» °æ¿ì¿¡´Â ±âÁ¸¿¡ [º¯°æ] ¸ðµå·Î Á¸ÀçÇÏ´ø ¾ÆÀÌÅÛÀ» ¿ø·¡ÀÇ »óÅ·ΠµÇµ¹¸®°Ú´Ù´Â °ÍÀ» ÀǹÌÇÏ´Â °ÍÀ̱¸¿ä, ¾î¶² ¾ÆÀÌÅÛÀÌ [º¯°æ]µÇ´Â °æ¿ì¿¡´Â ±âÁ¸¿¡ [¼±ÅÃ] ¸ðµå·Î Á¸ÀçÇÏ´ø ¾ÆÀÌÅÛÀ» ¿ø·¡ÀÇ »óÅ·ΠµÇµ¹¸®°Ú´Ù´Â °ÍÀ» ÀǹÌÇÏ´Â °ÍÀÔ´Ï´Ù. ¸¸ÀÏ, ÀÌ·¯ÇÑ Äڵ带 Ãß°¡ÇÏÁö ¾ÊÀ¸¸é, °á°ú ȸ鿡¼ [¼±ÅÃ]°ú [º¯°æ]ÀÌ °¢°¢ µû·Î ³ë´Â °ÍÀ» º¼ ¼ö ÀÖÀ» °Å¿¹¿ä.
ÀÌÁ¦, ¹öưÀÇ CommandNameÀÌ edit ÀÎ °æ¿ì¿¡´Â ItemCommand
À̺¥Æ®ÀÇ ³»ºÎ 󸮴 °Ç³Ê¶Ù°Ô µÉ °ÍÀ̰í, EditCommand ÀÇ Ã³¸®¿¡¸¸ ÁýÁßÇÏ°Ô µÉ °ÍÀÔ´Ï´Ù. ±×¸®°í, ¹öưÀÇ CommandNameÀÌ select ÀÎ °æ¿ì¿¡´Â ItemCommand ³»ºÎÀÇ Ã³¸®¿¡¸¸ ÁýÁßÇÏ°Ô µÉ °ÍÀÌ°í ¸»ÀÔ´Ï´Ù. ±×·¸½À´Ï´Ù. °èȹÇÑ ´ë·Î µ¿ÀÛÇÏ°Ô ¸¸µç °ÍÀÌÁÒ~~~
UpdateCommand
ÁÁ½À´Ï´Ù. ÁÁ±¸¿ä~~ À̹ø¿¡´Â ³²¾ÆÀÖ´Â 3°³ÀÇ À̺¥Æ®¸¦ Çѹø¿¡ ´Ù·ç¾î º¸µµ·Ï ÇØ¿ä. CancelCommand, DeleteCommand, UpdateCommand °¡ ¹Ù·Î ±×°ÍÀä, À̵éÀº °¢°¢ "cancel", "delete", "update" ¶õ CommandNameÀ» °¡Áø ¹öưÀÌ Å¬¸¯µÉ °æ¿ì È£ÃâµÇ´Â À̺¥Æ®¶ó´Â °ÍÀ» ±â¾ïÇϼ¼¿ä. ¹°·Ð, °¢°¢ÀÇ À̺¥Æ®°¡ È£ÃâµÇ±â Àü¿¡ À̵éÀº ºÐ¸í ItemCommand À̺¥Æ®µµ °ÅÄ¡°Ô µÉ °ÍÀÔ´Ï´Ù. À̵鵵 ¸ðµÎ ¹öư ÄÁÆ®·ÑÀÌ´Ï ¸»ÀÔ´Ï´Ù. ÇÏÁö¸¸, ItemCommand À̺¥Æ® ³»ÀÇ ½ÇÁ¦ 󸮴 CommandNameÀÌ selectÀÎ °æ¿ì¿¡¸¸ ¼öÇàµÉ °ÍÀ̱⿡, ItemCommand À̺¥Æ® 󸮱⳻ÀÇ ÄÚµåµé¿¡ ´ëÇØ¼´Â ÀÌÁ¦ ´õ ÀÌ»ó ½Å°æÀ» ¾µ Çʿ䰡 ¾ø½À´Ï´Ù. ±×·¸°ÚÁÒ?
cancel, update, delete ¶ó´Â ¾÷¹«´Â [º¯°æ] ¸ðµå¿¡¼
¼öÇàµÇ¾î¾ß ÇÒ
ÀÛ¾÷µéÀÔ´Ï´Ù. ±×·¯¹Ç·Î, ÀÌ·¯ÇÑ ¹öưÀÌ À§Ä¡ÇØ¾ß ÇÒ °÷Àº [º¯°æ] ¸ðµåÀÎ EditItemTemplate ³»ºÎ°¡ µÇ¾î¾ß ÇÒ °ÍÀ̶ó´Â °ÍÀº ¾î·ÆÁö ¾Ê°Ô ¿¹»óÇÏ½Ç ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ´ÙÀ½°ú °°Àº Äڵ带 EditItemTemplate¿¡ Ãß°¡·Î ÀÛ¼ºÇØ º¸µµ·Ï Çϼ¼¿ä. (Âü°í·Î, ÀÌ ¸ðµç 󸮰¡ Ãß°¡µÈ ÄÚµå´Â ´Ù¿î·Îµå ¹ÞÀº ÆÄÀÏ Áß¿¡¼ DataListEx1plus4.aspx¶ó´Â À̸§À¸·Î Á¦°øµÇ°í ÀÖ½À´Ï´Ù)
<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>
<p>
<asp:Button Runat="server" Text="¾÷µ¥ÀÌÆ®" CommandName="update"
CommandArgument='<%# DataBinder.Eval(Container.DataItem, "title_id") %>'>
</asp:Button>
<asp:Button Runat="server" Text="»èÁ¦" CommandName="delete"
CommandArgument='<%# DataBinder.Eval(Container.DataItem, "title_id") %>'>
</asp:Button>
<asp:Button Runat="server" Text="Ãë¼Ò" CommandName="cancel"
CommandArgument='<%# DataBinder.Eval(Container.DataItem, "title_id") %>'>
</asp:Button>
</p>
|
</DIV> </EditItemTemplate>
|
°¢°¢ÀÇ ¹öưÀÌ ÀÚ½ÅÀÇ ¾ÆÀÌÅÛ¿¡ ÇØ´çÇÏ´Â
title_id °ªÀ» CommandArgument·Î ¼³Á¤Çϰí ÀÖ´Â °ÍÀ» Àß ±â¾ïÇϱ⠹ٷ¡¿ä. °¢°¢ÀÇ ¹öưÀÌ Å¬¸¯µÉ °æ¿ì, ¾î¶² Ã¥ÀÌ ¾÷µ¥ÀÌÆ® ¹× »èÁ¦µÇ¾î¾ß ÇÏ´ÂÁö¸¦ ¼¹ö¿¡¼ ¾Ë ¼ö ÀÖÀ¸·Á¸é ±× °ª(title_id)À» ¼¹ö·Î ³Ñ°ÜÁÙ ¼ö ÀÖ¾î¾ß ÇÒ °ÍÀ̰í, ±×¸¦ À§ÇÑ ÃÖÀûÀÇ Àå¼Ò´Â ¹öư ÄÁÆ®·ÑÀÇ CommandArgumentÀ̱⠶§¹®ÀÔ´Ï´Ù. ¶ÇÇÑ, ¼¹öÃøÀÇ XXXCommand À̺¥Æ® Äڵ忡¼µµ ¹öư ÄÁÆ®·ÑÀÇ CommandName °ª°ú CommandArgument °ªÀº ½±°Ô ¾ò¾î³¾ ¼ö Àֱ⠶§¹®¿¡ °¢ Ã¥ÀÇ title_id °ªÀº ¹öưÀÇ CommandArgument·Î¼ ÁÖ´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÒ °ÍÀ̱⵵ ÇÕ´Ï´Ù. ÀÏ´Ü, ÇöÀçÀÇ »óÅ¿¡¼ ÆäÀÌÁö¸¦ ÄÄÆÄÀÏÇÏ°í °á°ú¸¦ »ìÆìº¸µµ·Ï ÇÏÁÒ. [º¯°æ] ¹öưÀÌ Å¬¸¯µÉ °æ¿ì, ÀÌ·¯ÇÑ ¹öưµéÀº ³ªÅ¸³¯ °ÍÀ̶ø´Ï´Ù. ´ÙÀ½°ú °°ÀÌ ¸»ÀÌÁÒ ^^
ÇÏÁö¸¸, ¿ì¸®´Â ¾ÆÁ÷ °¢°¢ÀÇ ¹öưÀÌ Å¬¸¯µÇ¾úÀ» °æ¿ì¿¡ÀÇ Ã³¸®´Â ÀÛ¼ºµÇÁö ¾Ê¾Ò½À´Ï´Ù. ±×°ÍÀ» Áö±ÝºÎÅÍ Çϳª¾¿ ÀÛ¼ºÇØ ³ª°¡º¸µµ·Ï ÇØ¿ä. ½ÃÀÛÀº UpdateCommand·Î ÇϰڽÀ´Ï´Ù. À¥ Æû µðÀÚÀÎ ¸ðµå·Î °¡¼ DataList¸¦ ¼±ÅÃÇÑ ´ÙÀ½ [¼Ó¼º â]¿¡¼ ¹ø°³ ¸ð¾çÀÇ ¹öưÀ» Ŭ¸¯ÇÑ µÚ, Ãâ·ÂµÇ´Â À̺¥Æ®µé Áß¿¡¼ UpdateCommand¸¦ ¼±ÅÃÇϰí, ¿ìÃø Ä¿¡¼ ´õºí Ŭ¸¯À» Çϼ¼¿ä. (¾Æ±¸.. º¹ÀâÇÏÁÒ??? ^^)
±×·¯¸é, ÄÚµå ºñÇÏÀÎµå ÆäÀÌÁö·Î À̵¿Çϸç, ÀÚµ¿À¸·Î DataList1_UpdateCommand À̺¥Æ® 󸮱Ⱑ »ý¼ºµÇ¾îÁ® ÀÖÀ» °ÍÀÔ´Ï´Ù. ÀÌ¹Ì ¾ð±ÞÇßµíÀÌ, ÀÌ´Â DataList ³»ÀÇ ¹öư ÄÁÆ®·Ñ Áß CommandName¼Ó¼ºÀÇ °ªÀ¸·Î "update"¸¦ °®´Â ¹öư ÄÁÆ®·ÑÀÌ ´·ÈÀ» °æ¿ì ¹ß»ýÇÏ´Â À̺¥Æ®ÀÔ´Ï´Ù. ÀÚ... ÀÌÁ¦ ÀÌ °÷¿¡ ´ÙÀ½°ú °°Àº Äڵ带 ÀÛ¼ºÇØ º¸µµ·Ï Çսôٿä~
private void DataList1_UpdateCommand(object source,
System.Web.UI.WebControls.DataListCommandEventArgs e)
{
string title = ((TextBox)e.Item.FindControl("title")).Text;
string price = ((TextBox)e.Item.FindControl("price")).Text;
string notes = ((TextBox)e.Item.FindControl("notes")).Text;
string title_id = (string)e.CommandArgument;
string strSQL = "UPDATE Titles SET title=@title, price=@price, notes=@notes "
+ " WHERE title_id=@title_id";
SqlConnection Con = new SqlConnection(connectStr);
SqlCommand Cmd = new SqlCommand(strSQL, Con);
Cmd.Parameters.Add("@title", SqlDbType.VarChar, 80);
Cmd.Parameters.Add("@price", SqlDbType.Money);
Cmd.Parameters.Add("@notes", SqlDbType.VarChar, 200);
Cmd.Parameters.Add("@title_id", SqlDbType.VarChar, 6);
Cmd.Parameters["@title"].Value = title;
Cmd.Parameters["@price"].Value = price;
Cmd.Parameters["@notes"].Value = notes;
Cmd.Parameters["@title_id"].Value = title_id;
Con.Open();
Cmd.ExecuteNonQuery();
Con.Close();
DataList1.EditItemIndex = -1;
BindDataList();
}
|
Äڵ忡¼ ½ÇÁ¦·Î µ¥ÀÌÅͺ£À̽º¿¡ ƯÁ¤ µ¥ÀÌÅ͸¦ Update ÇÏ´Â ºÎºÐÀº ¿©±â¼ º°µµ·Î ¾ð±ÞÇÏÁö´Â ¾ÊÀ» °ÍÀÔ´Ï´Ù. ¿©·¯ºÐÀÌ ÀÌ¹Ì ADO.NETÀÇ »ç¿ë¹ý¿¡ ´ëÇÑ ¾î´ÀÁ¤µµÀÇ ³»°øÀÌ ÀÖ´Ù°í °¡Á¤Çϰí ÀÌ °Á¸¦ ÁøÇàÇϰí Àֱ⠶§¹®ÀÌÁö¿ä. ^^ (¾çÇØÇØ ÁÖ¼¼¿ä. ADO.NETÀÇ »ç¿ë¹ý¿¡ ´ëÇØ¼´Â ³ªÁß¿¡ º°µµ·Î ´Ù·ç¾îº¸´Â ½Ã°£À» °®µµ·Ï ÇÒÅ״ϱî¿ä ^^)
ÀÌ ¿¹Á¦¿¡¼ÀÇ ¹®Á¦´Â »ç¿ëÀÚ°¡ ÅØ½ºÆ®¹Ú½º¿¡ º¯°æÇÑ °ªÀ» ¾î¶»°Ô °¡Á®¿À´À³Ä!! ÀÔ´Ï´Ù. °¢ ÄÁÆ®·ÑÀÇ °íÀ¯ÇÑ ID´Â µ¿ÀûÀ¸·Î Àç ¼³Á¤µÇ±â¿¡ ÇÁ·Î±×·¡¹Ö Äڵ忡¼ °¢°¢ÀÇ ÄÁÆ®·ÑÀ» ID·Î ã¾Æ µé¾î°¡´Â °ÍÀº ¸Å¿ì ¾î·Á¿î ÆíÀÔ´Ï´Ù. ±×·¸´Ù¸é, ¾î¶»°Ô ÇØ¾ß ÇÒ±î¿ä? ¾Ë°íº¸¸é ¸ðµç °ÍÀº °£´ÜÇÏÁö¿ä ^^. ±× ¸ðµç ÇØ°á¹æ¹ýÀ» ¸Þ¼µåÀÇ ÀÎÀÚÀÎ DataListCommandEventArgs °³Ã¼°¡ Á¦°øÇØ Áִϱî¿ä.
DataListCommandEventArgs °³Ã¼ÀÇ Item ¼Ó¼ºÀº
ÇöÀç ¾ÆÀÌÅÛ ÀÚü¸¦ ³ªÅ¸³»°í ÀÖ´Â °³Ã¼À̸ç, ±× Item °³Ã¼´Â FindControl À̶ó´Â À¯¿ëÇÑ ¸Þ¼µå¸¦ Á¦°øÇÑ´ä´Ï´Ù. ÀÌ´Â ÇöÀçÀÇ ¾ÆÀÌÅÛ(Áï, ÅÛÇø´) ³»¿¡¼ ƯÁ¤ À̸§À» °®´Â ÄÁÆ®·ÑÀ» ã¾Æ¿À´Â ¿ªÇÒÀ» Çϱ⿡, e.Item.FindControl("ÄÁÆ®·ÑÀÇ À̸§") °ú °°Àº Äڵ带 ÅëÇØ¼ ÇØ´ç ÄÁÆ®·ÑÀÇ ÂüÁ¶¸¦ ½±°Ô ¾ò¾î¿Ã ¼ö°¡ ÀÖ¾î¿ä. ´Ü, ±× ÄÁÆ®·ÑÀº Control ŸÀÔÀ¸·Î ³Ñ¾î¿À±â¿¡ À̸¦ »ç¿ëÇϱâ Àü¿¡´Â ¹Ýµå½Ã ÀÚ½ÅÀÇ Á¤È®ÇÑ Å¸ÀÔÀ¸·Î Çü º¯È¯À» ½ÃÄÑÁØ ´ÙÀ½ »ç¿ëÇÒ Çʿ䰡 ÀÖ´Ù´Â Á¡Àº ÁÖÀÇÇÏ¼Å¾ß ÇÕ´Ï´Ù.
ÇØ¼, ¼Ò½º Áß¿¡ ÀÖ´Â
((TextBox)e.Item.FindControl("title"))¶ó´Â
ÄÚµå´Â ÇöÀç »ç¿ëÀÚ°¡ À̺¥Æ®¸¦ ¹ß»ý½ÃŲ Ç׸ñ(¾ÆÀÌÅÛ)¿¡¼ title À̶ó´Â À̸§À» °®´Â ÄÁÆ®·ÑÀ» ãÀº ´ÙÀ½, Áï e.Item.FindControl("title") ¸¦ ¼öÇàÇÑ ´ÙÀ½ ±× ÄÁÆ®·ÑÀ» TextBox ŸÀÔÀ¸·Î Çüº¯È¯ ÇÏ´Â ÄÚµåÀÎ °ÍÀÔ´Ï´Ù. ±×·¯¹Ç·Î, ÀÌ·± ½ÄÀ¸·Î °¢°¢ÀÇ TextBox¿¡ ÀÔ·ÂµÈ °ªÀ» ¾ò¾î¿Ã ¼ö ÀÖ´Â °ÍÀÌÁÒ.
string title =
((TextBox)e.Item.FindControl("title")).Text;
string price =
((TextBox)e.Item.FindControl("price")).Text;
string notes =
((TextBox)e.Item.FindControl("notes")).Text;
ÇÏÁö¸¸, ÇöÀç ¾ÆÀÌÅÛÀÇ title_idÀÇ °ªÀº Á» ´õ ½±°Ô ¾ò¾î³¾ ¼ö Àִµ¥¿ä, ÀÌ´Â ¿ì¸®°¡ ±× °ªÀ» ¹öư ÄÁÆ®·ÑÀÇ CommandArgument·Î ÁöÁ¤ÇØ µÎ¾ú±â ¶§¹®ÀÔ´Ï´Ù. ¹öư ÄÁÆ®·ÑÀÇ CommandName°ú CommandArgumentÀº ¼¹öÃø À̺¥Æ® ¸Þ¼µåÀÇ µÎ ¹øÂ° ÀÎÀÚÀÎ DataListCommandEventArgs¸¦ ÅëÇØ¼ ½±°Ô ¾ò¾î¿Ã ¼ö°¡ ÀÖ¾î¿ä. ´ÙÀ½°ú °°ÀÌ ¸»ÀÌÁÒ.
string title_id = (string)e.CommandArgument;
°¢°¢ÀÇ °ªµéÀ» ¸ðµÎ ¾ò¾î³Â´Ù¸é, ÀÌÈÄÀÇ ÀÛ¾÷Àº µ¥ÀÌÅͺ£À̽º¸¦ ¿°í, UPDATE ÁúÀǸ¦ ¼öÇàÇÏ´Â °ÍÀÔ´Ï´Ù. ¸ðµç µ¥ÀÌÅͺ£À̽º ÀÛ¾÷ÀÌ ³¡³µ´Ù¸é Connection °³Ã¼¸¦ Close ÇÏ°í ³ ´ÙÀ½, ÇöÀç [º¯°æ] ¸ðµå·Î µÇ¾îÁ® ÀÖ´Â ¾ÆÀÌÅÛÀ» ¿ø·¡ÀÇ ¸ðµå·Î µÇµ¹¸®±â À§Çؼ ´ÙÀ½°ú °°ÀÌ EditItemIndex °ªÀ» -1·Î µÇµ¹¸®°í, µ¥ÀÌÅ͸¦ ´Ù½Ã±Ý ¹ÙÀεù ÇÏ¸é µË´Ï´Ù.
DataList1.EditItemIndex = -1;
BindDataList();
¸ðµÎ ÀÌÇØµÇ¾ú´Ù¸é,
ÆäÀÌÁö¸¦ ÄÄÆÄÀÏÇÏ°í ½ÇÇàÇØº¸µµ·Ï Çϼ¼¿ä. ±×¸®°í, [º¯°æ] ¸ðµå¿¡¼ µ¥ÀÌÅ͸¦ ÀûÀýÈ÷ ¼öÁ¤ÇÑ ´ÙÀ½, [update] ¹öưÀ» ´·¯ ±× ³»¿ëÀÌ ½ÇÁ¦·Î º¯°æµÇ´ÂÁö È®ÀÎÇØ º¸µµ·Ï Çϼ¼¿ä. ¿ì¸®ÀÇ ±â´ë´ë·Î ¸Å¿ì Àß µ¿ÀÛÇÒ °ÍÀÓÀÌ ÀÚ¸íÇÕ´Ï´Ù. ^^
CancelCommand
ÀÌÁ¦´Â CancelCommand ºÎºÐÀ» Çѹø ´Ù·ç¾î º¸µµ·Ï ÇϰڽÀ´Ï´Ù. ÀÌÀü°ú °°Àº ¹æ¹ýÀ¸·Î À¥ Æû µðÀÚÀÎ ¸ðµå·Î °¡¼ DataList¸¦ ¼±ÅÃÇÑ ´ÙÀ½ [¼Ó¼º â]¿¡¼ ¹ø°³ ¸ð¾çÀÇ ¹öưÀ» Ŭ¸¯ÇÑ µÚ, Ãâ·ÂµÇ´Â À̺¥Æ®µé Áß¿¡¼ CancelCommand¸¦ ¼±ÅÃÇϰí, ¿ìÃø Ä¿¡¼ ´õºí Ŭ¸¯À» Çϼ¼¿ä. ±×·¯¸é, ÄÚµå ºñÇÏÀÎµå ÆäÀÌÁö·Î À̵¿µÇ¸ç, ÀÚµ¿À¸·Î DataList1_DeleteCommand À̺¥Æ® 󸮱Ⱑ »ý¼ºµÇ¾îÁ® ÀÖÀ» °ÍÀÔ´Ï´Ù. ±× ±¸¿ª¿¡ ´ÙÀ½°ú °°Àº Äڵ带 ÀÛ¼ºÇØ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.
private void DataList1_CancelCommand(object source,
System.Web.UI.WebControls.DataListCommandEventArgs e)
{
DataList1.EditItemIndex = -1;
BindDataList();
}
|
ÀÛ¾÷À» Ãë¼ÒÇÏ´Â
cancel ÀÏ °æ¿ì´Â ¾î¶°ÇÑ ÀÛ¾÷µµ ÇÊ¿äÄ¡ ¾Ê½À´Ï´Ù. ´ÜÁö, ÇöÀç [º¯°æ] ¸ðµåÀÎ °ÍÀ» ±âÁ¸ÀÇ »óÅ·ΠµÇµ¹¸®±â¸¸ ÇÏ¸é µÇ´Â °ÍÀÌÁÒ. ÇØ¼, ¼Ò½º´Â DataList ÀÇ EditItemIndex °ªÀ» -1·Î ¼³Á¤Çϰí, µ¥ÀÌÅÍ ¹ÙÀε带 ¹Ýº¹ÇÏ´Â °ÍÀÌ ÀüºÎÀÎ °ÍÀ̶ø´Ï´Ù.
DeleteCommand
¸¶Áö¸·À¸·Î, DeleteCommand ÀÇ Äڵ嵵 °°Àº ¹æ¹ýÀ¸·Î ÀÛ¼ºÇØ º¸µµ·Ï ÇϰڽÀ´Ï´Ù. [¼Ó¼º â]¿¡¼ ¹ø°³ ¸ð¾çÀÇ ¹öưÀ» Ŭ¸¯ÇÑ µÚ, DeleteCommand¸¦ ¼±ÅÃÇϰí, ¿ìÃø Ä¿¡¼ ´õºí Ŭ¸¯À» Çϸé ÄÚµå ºñÇÏÀÎµå ÆäÀÌÁö·Î À̵¿ÇÒ °ÍÀ̸ç, ÀÚµ¿À¸·Î DataList1_DeleteCommand À̺¥Æ® 󸮱â´Â »ý¼ºµÇ¾îÁú °ÍÀÔ´Ï´Ù. ±âÁ¸°ú ¸¶Âù°¡Áö·Î ¸»ÀÔ´Ï´Ù ^^.
ƯÁ¤ ·¹Äڵ带 »èÁ¦Çϱâ À§Çؼ´Â ´ÜÁö ÇØ´ç ·¹ÄÚµåÀÇ ±âº» Ű Ä÷³ °ª¸¸À» ¾Ë¸é µÇ¸ç, titles Å×ÀÌºí¿¡¼ÀÇ ±× Ű´Â title_id À̹ǷΠÀ̹øÀÇ ÄÚµå´Â ±×´ÙÁö Ưº°ÇÑ ³»¿ëÀº ¾ø½À´Ï´Ù. ±»ÀÌ ¼Ò½º¸¦ º¸¿©Áشٸé ÄÚµå´Â ´ÙÀ½°ú °°À» °Í °°³×¿ä. (±×·¯³ª, À̸¦ ÀÛ¼ºÇϱâ´Â Ç쵂 ½ÇÇàÇÏÁö´Â ¸»¾ÆÁÖ¼¼¿ä)
private void DataList1_DeleteCommand(object source,
System.Web.UI.WebControls.DataListCommandEventArgs e)
{
string title_id = (string)e.CommandArgument;
string strSQL = "DELETE Titles WHERE title_id = @title_id";
string connectStr = "Server=(local); database=Pubs; user id=sa";
SqlConnection Con = new SqlConnection(connectStr);
SqlCommand Cmd = new SqlCommand(strSQL, Con);
Cmd.Parameters.Add("@title_id", SqlDbType.VarChar, 6);
Cmd.Parameters["@title_id"].Value = title_id;
Con.Open();
Cmd.ExecuteNonQuery();
Con.Close();
DataList1.EditItemIndex = -1;
BindDataList();
}
|
Äڵ忡¼
Ưº°È÷ »õ·Î¿î °ÍÀº ¾ø½À´Ï´Ù. ´ÜÁö, DELETE ÁúÀǸ¦ ¼öÇàÇÏ´Â °ÍÀÌ ÀüºÎÀÌÁö¿ä. ÇÏÁö¸¸, ÀÌ Äڵ带 ÀÛ¼ºÇÏ°í ¸·»ó ÆäÀÌÁö¸¦ ½ÇÇàÇÏ¿© ƯÁ¤ ¾ÆÀÌÅÛÀ» »èÁ¦ÇÏ·Á ÇÑ´Ù¸é ¿¹¿Ü°¡ ¹ß»ýÇÒ °Ì´Ï´Ù. ÀÌ´Â µ¥ÀÌÅͺ£À̽º Å×À̺íµéÀÇ °ü°è¼º¿¡ µû¸¥ ¹®Á¦·Î½á, titles Å×À̺íÀº ¿©·¯ ´Ù¸¥ Å×À̺íµé°ú °ü°è¸¦ ¸Î°í ÀÖ¾î¼, ÇԺηΠtitles Å×À̺íÀÇ µ¥ÀÌÅ͸¦ »èÁ¦ÇÒ ¼ö°¡ ¾ø±â ¶§¹®¿¡ ¹ß»ýÇÏ´Â ¿¹¿ÜÀÔ´Ï´Ù. ÀÌ´Â Titles Å×À̺í ÀÚüÀÇ Æ¯¼ö¼ºÀ¸·Î ÀÎÇÑ ¹®Á¦ÀÌÁö ·ÎÁ÷»óÀÇ ¹®Á¦´Â ¾Æ´Ï¶ó´Â Á¡À» ¸»¾¸µå¸®°í ½Í³×¿ä ^^
ÇØ¼, ½ÇÁ¦ Äڵ忡¼´Â ÄÚµåÀÇ ¸¶Áö¸· ºÎºÐÀÎ ´ÙÀ½ ±¸¿ªÀ» Á¦¿ÜÇϰí´Â ¸ðµÎ ÁÖ¼®Ã³¸®¸¦ Çϵµ·Ï Çϰڽ¿´Ù.
DataList1.EditItemIndex = -1;
BindDataList();
|
C#¿¡¼ÀÇ ÁÖ¼®Ã³¸®´Â °¢°¢ÀÇ ¶óÀÎ ¾Õ¿¡ // ¶ó´Â ¹®ÀÚ¸¦ ´Þ¾ÆÁÖ¸é µË´Ï´Ù. ȤÀº ºí·Ï ´ÜÀ§·Î ÁÖ¼®À» °É¾îÁÖ°í ½Í´Ù¸é /* */ ¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
|
ÀÌÁ¦ ÆäÀÌÁö´Â
¿Ï¼ºµÇ¾ú½À´Ï´Ù. ¿©·¯ºÐÀº DataList¸¦ ÅëÇØ¼ ¿øÇÏ´Â µ¥ÀÌÅ͵éÀÇ Ãâ·ÂÀ» ½±°Ô ¸¸µé¾î ³¾ ¼ö ÀÖÀ» °ÍÀ̸ç, °¢°¢ÀÇ ¾ÆÀÌÅÛÀ» ¼±ÅÃ, º¯°æ, ¾÷µ¥ÀÌÆ®, »èÁ¦ÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ÃàÇÏÇÕ´Ï´Ù. ^^;
DataKeyField
ÀÌÁ¦ DataList ¿¡ ´ëÇÑ À̾߱⵵ ¾î´Àµ¡ ¸·¹ÙÁö¿¡ À̸£°í Àֳ׿ä. DataList¸¦ ¸¶¹«¸®ÇÏ´Â Â÷¿ø¿¡¼ À̹ø¿¡´Â ÀÌ ÄÁÆ®·ÑÀÌ °¡Áö°í ÀÖ´Â ¼Ó¼º Áß ¸Å¿ì À¯¿ëÇÑ ¼Ó¼ºÀÎ DataKeyField¿¡ ´ëÇÑ À̾߱⸦ ÇØº¸µµ·Ï ÇϰڽÀ´Ï´Ù.
DataKeyField´Â ÁöÁ¤µÈ µ¥ÀÌÅÍ ¿øº»ÀÇ Å°
°ªÀ» ÁöÁ¤Çϱâ À§Çؼ »ç¿ëµÇ´Â ¼Ó¼ºÀ¸·Î, À̸¦ »ç¿ëÇϸé ÅÛÇø´ ¾ÆÀÌÅÛ ³»¿¡ Ű °ªÀ» Ç¥½ÃÇϰųª ³ªÅ¸³»Áö ¾Ê°íµµ ±× Ű °ªÀ» »ç¿ëÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. Áï, °¢°¢ÀÇ ¾ÆÀÌÅÛÀÇ Æ¯Á¤ Ű Ä÷³ °ªÀ» DataList ³»¿¡ ³»ºÎÀûÀ¸·Î ÀúÀåÇØ ³õ°í »ç¿ëÇÒ ¼ö°¡ ÀÖ´Ù´Â À̾߱âÀÌÁö¿ä. Àß ÀÌÇØ°¡ °¡Áö ¾Ê³ª¿ä? ÷¿¡´Â ±×·² ¼ö ÀÖ½À´Ï´Ù. ±×·¸´Ù¸é ¿¹¸¦ µé¾îº¸µµ·Ï ÇϰڽÀ´Ï´Ù. À§ÀÇ ¿¹Á¦¿¡¼ ƯÁ¤ ¾ÆÀÌÅÛÀÇ °ªµéÀ» º¯°æÇϰųª ȤÀº »èÁ¦ÇÒ °æ¿ì ¿ì¸®´Â ¾î¶»°Ô ó¸®ÇÏ¿´¾ú´ø°¡¿ä? Áï, ÇöÀç ¾î¶² ¾ÆÀÌÅÛÀÇ °ªÀ» º¯°æÇϰųª »èÁ¦ÇÏ·Á ÇÏ´Â °ÍÀÎÁö ¾î¶»°Ô ¾Ë ¼ö ÀÖ¾úÁÒ?
¿¹Á¦¿¡¼´Â ¾î¶² ƯÁ¤ ¾ÆÀÌÅÛÀÇ °ªµéÀ» º¯°æÇϱâ À§Çؼ, [¾÷µ¥ÀÌÆ®] ¹öưÀÌ ´¸± °æ¿ì CommandArgument ¼Ó¼ºÀÇ °ªÀ¸·Î ÇØ´ç Ç׸ñÀÇ "title_id" °ªÀ» ³Ñ±â°í, ±× °ªÀ» ¾ò¾î¿Í¼ ó¸®Çß¾ú½À´Ï´Ù. ¹Ù·Î ´ÙÀ½ÀÇ Äڵ带 ÅëÇØ¼ ¸»ÀÔ´Ï´Ù.
string title_id = (string)e.CommandArgument;
±×¸®°í, À̸¦ ¾ò¾î¿À±â À§Çؼ, EditItemTemplate ³»ÀÇ ¹öưµé¿¡´Ù°¡
CommandArgument °ªµéÀ» ÁöÁ¤ÇØ ÁÖ¾ú¾úÁÒ. ´ÙÀ½°ú °°ÀÌ
¸»ÀÔ´Ï´Ù.(±»ÀÌ ÀÌ Äڵ带 ¹Ýº¹Çؼ º¸¿©µå¸± Çʿ䰡 ÀÖÀ»±î? »ý°¢ÇßÁö¸¸, ¹¹... ¾î¶»½À´Ï±î? ±×ÃÝ??? °ø°£Àº ³Ë³ËÇϴϱî¿ä~~~ ÇÖÇÖÇÖ )
<asp:Button Runat="server" Text="¾÷µ¥ÀÌÆ®" CommandName="update"
CommandArgument='<%# DataBinder.Eval(Container.DataItem, "title_id") %>'>
</asp:Button>
<asp:Button Runat="server" Text="»èÁ¦" CommandName="delete"
CommandArgument='<%# DataBinder.Eval(Container.DataItem, "title_id") %>'>
</asp:Button>
<asp:Button Runat="server" Text="Ãë¼Ò" CommandName="cancel"
CommandArgument='<%# DataBinder.Eval(Container.DataItem, "title_id") %>'> </asp:Button>
|
ÀÌó·³ ¹öưÀÇ CommandArgument ¼Ó¼ºÀ» ÅëÇØ¼ ÇöÀç ¹öưÀÌ ¾î¶²
Ç׸ñÀÇ ¹öưÀÎÁö ¾Ë·ÁÁÖÁö ¾Ê´Â´Ù¸é, °¢°¢ÀÇ À̺¥Æ® 󸮱⿡¼ ÇöÀç [¾÷µ¥ÀÌÆ®]¸¦ ÇϰíÀÚ ÇÏ´Â Ç׸ñÀÌ ¾î¶² Ç׸ñÀÎÁö¸¦ ¾Ë¾Æ³»±â´Â ½±Áö ¾Ê¾ÒÀ» °ÍÀÔ´Ï´Ù. ±×·¸½À´Ï´Ù. ÀÌÀü¿¡´Â ÀÌ·¸°Ô ó¸®Çß¾úÁö¿ä. ±×·¸´Ù°í ÀÌ·± ½ÄÀ¸·Î ó¸®ÇÑ ±âÁ¸ÀÇ ¹æ¹ýÀÌ ³ª»Ú´Ù´Â °ÍÀº ¾Æ´Õ´Ï´Ù. ±× ¹æ¹ýµµ ÁÁÁö¸¸, À̹ø¿¡ ¾Ë·ÁÁÖ´Â ¹æ¹ýµµ »ó´çÈ÷ ¾µ¸¸ÇÑ ¹æ¹ýÀ̶ó´Â °ÍÀÌÁÒ. ¾î¶² ¹æ½ÄÀ» ¼±ÅÃÇÏ´ø Áö´Â ¿©·¯ºÐÀÇ ¸òÀÔ´Ï´Ù. (°³ÀÎÀûÀ¸·Î´Â À̹ø¿¡ ¾Ë·Áµå¸± DataKeyField ¼Ó¼ºÀ» »ç¿ëÇÏ´Â ¹æ¹ýÀ» ´õ ¼±È£ÇÕ´Ï´Ù. ÀÌ ¹æ¹ýÀ» »ç¿ëÇϸé Äڵ差ÀÌ ´ëÆø ÁÙ¾îµé±â ¶§¹®ÀÌÁö¿ä)
¿©·¯ºÐÀÌ DataListÀÇ DataKeyField ¼Ó¼ºÀ¸·Î ÇöÀç ¹ÙÀεåµÈ µ¥ÀÌÅ͵éÀÇ Å° Ä÷³À» ÁöÁ¤ÇÑ´Ù¸é, DataList´Â ³»ºÎÀûÀ¸·Î ±×·¯ÇÑ Ä÷³ °ªµéÀ» ¾ÆÀÌÅÛÀÇ ¼ø¼´ë·Î º¸°üÇÏ°Ô µÇ¸ç, ±× °ªµéÀ» DataKeys ¶ó´Â Ä÷º¼ÇÀ» ÅëÇØ Á¢±ÙÇÒ ¼ö ÀÖµµ·Ï ÇÑ´ä´Ï´Ù.
Áï, ¿¹Á¦ÀÇ °æ¿ì DataKeyField ¼Ó¼ºÀÇ °ªÀ» "title_id" ¶ó°í ÁöÁ¤ÇÏ°Ô µÇ¸é, DataList´Â ÇöÀç ¹ÙÀεåµÈ µ¥ÀÌÅ͵é Áß¿¡¼ title_id Ä÷³ÀÇ °ªµé¸¸À» »Ì¾Æ¼ Â÷·Ê´ë·Î DataListÀÇ DataKeys Ä÷º¼Ç¿¡ ÀúÀåÇØ ³õ´Â´Ù´Â °ÍÀÌÁÒ. ±×·¯¹Ç·Î, DataList.DataKeys[0] Àº ÇöÀç Ãâ·ÂµÈ ù¹øÂ° ¾ÆÀÌÅÛÀÇ title_id °ªÀÌ µÇ¸ç, DataList.DataKeys[1] Àº ÇöÀç Ãâ·ÂµÈ µÎ ¹øÂ° ¾ÆÀÌÅÛÀÇ title_id °ªÀÌ µÈ´Ù´Â À̾߱âÀ̱¸¿ä, ÀÌ °ªÀ» ³»ºÎÀûÀ¸·Î °¡Áö°í ÀÖ°Ô µÈ´Ù´Â ÀǹÌÀÔ´Ï´Ù. ±×¸®°í, ¿ì¸®°¡ ÇÊ¿äÇÒ °æ¿ì´Â ¾ðÁ¦µçÁö ±× °ªÀ» ºÒ·¯¿Ã ¼öµµ ÀÖ°í ¸»ÀÔ´Ï´Ù. ¸ÚÁöÁÒ??? ¾ù?? ¸»ÀÌ ¾î·Æ°Ô ´À²¸Áö½Ã³ª¿ä? ±×·¸´Ù¸é, ÇÁ·Î±×·¡¸ÓµéÀÇ ´ëȼö´ÜÀÎ "¿¹Á¦"¸¦ ÅëÇØ¼ ÀÌÇØÇØº¸µµ·Ï ÇϰڽÀ´Ï´Ù.
¸ÕÀú, ´ÙÀ½°ú °°ÀÌ DataListÀÇ ¼±¾ð ű׺κп¡ DataKeyField ¼Ó¼ºÀÇ °ªÀ» Ãß°¡Çϵµ·Ï ÇϽþî¿ä.
<asp:DataList id="DataList1" runat=
"server" GridLines="Both" Width= "800"
RepeatColumns="2" RepeatDirection="Vertical" DataKeyField="title_id">
|
ÀÌ·¸°Ô ¹Ù²Ù´Â °Í ¸¸À¸·Î, °¢ ¾ÆÀÌÅÛÀÇ title_id Ä÷³ °ªÀº
DataList°¡ ÀÚüÀûÀ¸·Î ÀúÀåÇϰí ÀÖ°Ô µË´Ï´Ù. ±×·¸´Ù¸é, ÀÌÁ¦ EditItemTemplate ³»ÀÇ [¾÷µ¥ÀÌÆ®] ³ª [»èÁ¦] ¹öưÀº CommandArgument ¼Ó¼ºÀÇ °ªÀ» °¡Áö°í ÀÖÀ» Çʿ䰡 ¾ø¾î¿ä. ±×µéÀÇ µµ¿òÀÌ ¾ø¾îµµ, °ªÀ» ÀÌÁ¨ ´õ ½±°Ô ¾ò¾î¿Ã ¼ö°¡ ÀÖ°Ô µÇ¾úÀ¸´Ï±î¿ä. ±×·¯´Ï±ñ, ±× ºÎºÐÀ» ÀÌÁ¦ ´ÙÀ½°ú °°ÀÌ Áö¿ö¹ö¸®µµ·Ï Çϼ¼¿ä.
<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>
<p> <asp:Button
Runat="server" Text="¾÷µ¥ÀÌÆ®"
CommandName=
"update"> </asp:Button> <asp:Button
Runat="server" Text="»èÁ¦"
CommandName=
"delete"> </asp:Button> <asp:Button
Runat="server" Text="Ãë¼Ò"
CommandName=
"cancel"> </asp:Button>
</p>
|
</DIV>
</EditItemTemplate>
|
±×¸®°í,
DataList1_UpdateCommand À̺¥Æ® 󸮱âÀÇ Äڵ嵵 ´ÙÀ½°ú °°ÀÌ º¯°æµÇ¾î¾ß ÇÕ´Ï´Ù. (ÀÌ·¸°Ô º¯°æµÈ ÄÚµå´Â ´Ù¿î·Îµå ¹ÞÀº ÆÄÀϵé Áß¿¡¼ DataListEx1plus5.aspx¶ó´Â À̸§À¸·Î Á¦°øµÇ°í ÀÖ½À´Ï´Ù)
private void DataList1_UpdateCommand(object source,
System.Web.UI.WebControls.DataListCommandEventArgs e)
{
string title = ((TextBox)e.Item.FindControl("title")).Text;
string price = ((TextBox)e.Item.FindControl("price")).Text;
string notes = ((TextBox)e.Item.FindControl("notes")).Text;
|
string title_id = DataList1.DataKeys[e.Item.ItemIndex].ToString();
|
¡¦
|
´Þ¶óÁø ºÎºÐÀº ÇöÀç ¾÷µ¥ÀÌÆ®µÇ´Â ¾ÆÀÌÅÛÀÇ title_id °ªÀ» ¾ò¾î¿À´Â ºÎºÐÀÔ´Ï´Ù. ±âÁ¸¿¡´Â [¾÷µ¥ÀÌÆ®] ¹öưÀÇ CommandArgument °ªÀ» Àоî¿ÔÁö¸¸, Áö±ÝÀÇ °æ¿ì¿¡´Â DataListÀÇ DataKeys Ä÷º¼Ç¿¡¼ ÇöÀç ¾ÆÀÌÅÛÀÇ ¼ø¼ °ªÀ» »ç¿ëÇÏ¿© Àоî¿À¸é µÇ´Â °ÍÀÌÁÒ. ÇöÀç ¾ÆÀÌÅÛÀÇ Ãâ·Â ¼ø¼´Â e.Item.ItemIndex¸¦ ÅëÇØ¼ ¾Ë¾Æ³¾ ¼ö ÀÖÀ¸¹Ç·Î, ÇöÀç [¾÷µ¥ÀÌÆ®]ÇÏ´Â Ç׸ñÀÇ title_id Ä÷³ÀÇ °ªÀº DataList1.DataKeys[e.Item.ItemIndex]ÀÌ µÉ °ÍÀÔ´Ï´Ù.
|
DataList1_DeleteteCommand À̺¥Æ® 󸮱âÀÇ °æ¿ìµµ À§¿Í µ¿ÀÏÇÏ°Ô º¯°æÇØÁÖ¸é µË´Ï´Ù
|
Áö±Ý ÇÏ´Â À̾߱âÀÇ ¿äÁ¡Àº ¾î¶»°Ô ÇØ´ç ¾ÆÀÌÅÛÀÇ Å° °ªÀ» ¾ò¾î¿À´À³Ä ÀÔ´Ï´Ù. ÇØ´ç ¾ÆÀÌÅÛÀÇ Å° °ªÀ» ¾ò¾î¿ÀÁö ¸øÇϸé, ±× ¾ÆÀÌÅÛÀÇ µ¥ÀÌÅ͸¦ º¯°æÇÒ ¹æ¹ýÀÌ ¾øÀ¸´Ï ¸»ÀÔ´Ï´Ù. ±× Ű °ªÀ» ButtonÀÇ CommandArgument¸¦ ÅëÇØ¼ ¾ò¾î¿Ã ¼öµµ ÀÖ°í, Áö±Ýó·³ DataKeyField ¼Ó¼ºÀ» »ç¿ëÇÏ¿© °£´ÜÇÏ°Ô ¾ò¾î¿Ã ¼öµµ ÀÖ½À´Ï´Ù. ¸ðµÎ ÁÁÀº ¹æ¹ýÀ̸ç, ¿©·¯ºÐÀÌ º¸±â¿¡ ³ªÀº ¹æ¹ýÀ» »ç¿ëÇÏ¸é µÇ´Â °ÍÀÌÁÒ.
¸¶À½ÀÌ Á¶±ÞÇϽŠºÐµéÀº Á¦ À̾߱Ⱑ ¸Ó¸® ¼Ó¿¡ Àß ¹Þ¾Æµé¿©ÁöÁö ¾ÊÀ» ¼öµµ ÀÖÀ» °Í °°³×¿ä. ¿©·¯ºÐÀÌ ASP.NETÀ¸·Î ÇÏ°í ½ÍÀº °ÍµéÀº ¾î¼¸é °Ô½ÃÆÇ, ¾î¼¸é ¼îÇθô, ¾î¼¸é Ä¿¹Â´ÏƼ, ȤÀº ¸ÞÀÏ º¸³»±â µîµîÀÇ ´«¿¡ º¸ÀÌ´Â ¸ÚÁø ÀÛ¾÷µéÀÏ Å×´Ï ¸»ÀÔ´Ï´Ù.
¿©·¯ºÐµéÀº ¿Ö ÀÌ·¯ÇÑ ÄÁÆ®·ÑµéÀ» ÀÌÅä·Ï ±¸Ã¼ÀûÀ¸·Î ¾Ë¾Æ¾ß ÇÏ´ÂÁö, ±×°ÍÀÌ ¾î¶² Àǹ̰¡ ÀÖ´ÂÁö Àǽɽº·¯¿ï °ÍÀ̰í, ¿©·¯ºÐ¿¡°Ô Áß¿äÇÑ °ÍÀº ÀÌ·± ÄÁÆ®·ÑµéÀÇ »ç¿ë¹ýÀÌ ¾Æ´Ï¶ó ½ÇÁ¦·Î ASP.NET À̶ó´Â ±â¼úÀ» ¾îµð¿¡ ¾î¶»°Ô »ç¿ëÇÏ´Â Áö ÀÏÁöµµ ¸ð¸¨´Ï´Ù. ÀÌ·¯ÇÑ ÄÁÆ®·ÑÀÇ »ç¿ë¹ýº¸´Ù´Â ÇϳªÀÇ °Ô½ÃÆÇÀ» ¸¸µé¾î ³»´Â °ÍÀÌ ¿©·¯ºÐ¿¡°Ô´Â ´õ¿í Çö½ÇÀûÀÎ ¸ñÇ¥ÀÏ ¼ö ÀÖÀ¸´Ï ¸»ÀÔ´Ï´Ù. ±×·¸´Ù´Â »ç½ÇÀ» Àúµµ ¸ð¸£´Â ¹Ù´Â ¾Æ´Õ´Ï´Ù. ÇÏÁö¸¸, ÀÌ °Á´ ³ªÁß¿¡ ¿©·¯ºÐÀÌ ÀÌ °Á¸¦ ´Ù½Ã º¼ °æ¿ì¿¡µµ µµ¿òÀÌ µÇ¾îÁÙ ¼ö Àֱ⸦ ¹Ù¶ó´Â ¸¶À½À¸·Î ÀÛ¼ºÇϰí ÀÖ½À´Ï´Ù. ¾î¼¸é, °úÁßÇÑ ¾÷¹«·Î ÀÎÇØ ÇöÀç ¿©À¯°¡ ¾ø´Â ¿©·¯ºÐµéÀÌ ÀÌ °Á¿¡ °ü½ÉÀ» °®Áö ¾ÊÀ» ¼ö ÀÖ´Ù´Â °Íµµ ¾Ë°í ÀÖ½À´Ï´Ù. ÇÏÁö¸¸, Á¶±Ý ¿©·ÂÀÌ »ý°å°Å³ª, ÀÏ´Ü ±ÞÇÑ ºÒÀº ²ö »óŶó¸é ¿©·¯ºÐÀº ±âº»ÀûÀÎ Áö½Ä¾øÀÌ ¸¸µé¾î ³½ °Ô½ÃÆÇÀ̳ª Æ÷·³, Ä¿¹Â´ÏƼ¸¦ ¾ÈÁ¤ÀûÀ¸·Î ±×¸®°í, Á¶±Ý ´õ È¿À²ÀûÀ¸·Î ¸¸µé°í ½Í¾îÁú °ÍÀ̸ç, ±×°Ô ¿©·¯ºÐ¿¡°Ô ÁÖ¾îÁú ´ÙÀ½ ¹øÀÇ °úÁ¦ÀÏ ¼öµµ ÀÖÀ» °Ì´Ï´Ù. ±×·¯ÇÑ °æ¿ì¿¡ Á÷¸éÇÒ °æ¿ì, ÀÌ °Á´ ¿©·¯ºÐ¿¡°Ô Å« µµ¿òÀÌ µÇ¾îÁÙ °ÍÀ̶ó ¹Ï°í ÀÖ´ä´Ï´Ù.(Á¦°¡ ÀÌ ºÎºÐÀ» °øºÎÇÏ¸é¼ ±×·¨À¸´Ï±î¿ä ¤Ð_¤Ð)
¿©·¯ºÐ¿¡°Ô ÇÊ¿äÇÏÁö ¾ÊÀ» À̾߱⸦ °Á·Π´Ù·ê¸®´Â ¾øÁö ¾Ê½À´Ï±î??? ¾Æ´Ñ°¡?? °Á¸¦ ¶§¿ì±â À§Çؼ??? ¼³¸¶.... À½.... -_-+
Á¦ º¯·ÐÀÌ ¾Æ´Ï´õ¶óµµ.... ¹º°¡ ±×¸®µå °ü·Ã ÄÁÆ®·ÑµéÀ» °øºÎÇÏ´Â
°ÍÀÌ Áß¿äÇÏ´Ù´Â ´À³¦Àº ÃæºÐÈ÷ ¹Þ¾ÒÀ» °ÍÀ̶ó »ý°¢ÇÕ´Ï´Ù. »ç½Ç °¡²û¾¿ ÀÌ·¯ÇÑ ÀÚ±ØÀº ÇÊ¿äÇÑ °Í °°¾Æ¿ä. ¿ì¸®´Â
°³¹ßÀÚ, ±â¾ï·ÂÀÌ ±×¸® ÁÁÁö ¸øÇÑ °³¹ßÀÚµéÀ̴ϱî¿ä. °í·Î, Çѹø ºÒÀÌ ºÙÀº ¿Á¤µµ À̳» ½Ä¾î¹ö¸®±â ÀϾ¥À̰í, µô·¹¸¶¿¡µµ
½±°Ô ºüÁ®µé°ï ÇÏÁ®. ±×·¡¼, ÀÌ·¯ÇÑ ÀÚ±ØÀº ÀÚÁÖ ÇÊ¿äÇÑ °Í °°½À´Ï´Ù. ±×¸®°í, ½Å³äµµ ÇÊ¿äÇϱ¸¿ä. Áö±Ý ¿©·¯ºÐÀÌ Çϰí ÀÖ´Â °øºÎ´Â ¹«Á¶°Ç ¿©·¯ºÐ¿¡°Ô ÈûÀÌ µÇ´Â Áö½ÄÀÔ´Ï´Ù.(±×·¸°Ô ¹Ïµµ·Ï ³ë·ÂÇϼ¼¿ä) °øºÎÇÏ´Â µ¿¾È¿¡´Â ÀǽÉÀ» °®Áö ¸¶¼¼¿ä. ±×·¯ÇÑ ÀǽÉÀº ¿©·¯ºÐ¿¡°Ô ÀüÇô µæÀÌ µÇÁö ¾ÊÀ» °Ì´Ï´Ù. ¸ðµç ÀǽÉÀº °øºÎ¸¦ ¸¶¹«¸®ÇÑ ´ÙÀ½¿¡ °¡Á®º¸¾Æµµ ´ÊÁö ¾Ê´Ù°í »ý°¢ÇÕ´Ï´Ù.
¾ÆÁ÷ ¿ÏÀüÇÏÁö ¸øÇÑ Áö½ÄÀ¸·Î ÀǽÉÇÏ´Â °ÍÀº ¿©·¯ºÐ¿¡°Ô ºÒ¾È¸¸À» °¡Áß½Ãų »ÓÀ̴ϱî¿ä. ÁÖº¯¿¡ ¿©·¯ºÐÀÇ ÈûÀ» ºüÁö°Ô ÇÏ´Â À̾߱⸦ ÇÏ´Â »ç¶÷ÀÌ ÀÖ´Ù¸é, ¹°¾îº¸¼¼¿ä. ±×µéÀÌ ¾ó¸¶³ª ±× ±â¼ú¿¡ ´ëÇØ¼ ¾Ë°í ÀÖ´ÂÁö.. °ú¿¬ Á¦´ë·Î ±â¼úÀ» ¾Ë°í À̾߱âÇÏ´ÂÁö.. ¾ðÁ¦³ª ±×·¸µíÀÌ ºó ¼ö·¹°¡ ¿ä¶õÇÑ ¹ýÀÔ´Ï´Ù. ÁøÁ¤ÇÑ °í¼ö´Â ±× ¾î¶°ÇÑ ±â¼úµµ ÆïÇÏÇÏÁö ¾Ê¾Æ¿ä....
¸·ÆÇ¿¡ »ç´ãÀÌ ±æ¾ú³×¿ä.. »ç´ã Èļ¼Àεµ ¾Æ´Ï¸é¼ ¸»ÀÔ´Ï´Ù... ÈÖÀÌÀÌ~~~À×~~~ ¤Ð_¤Ð
Á˼ÛÇÕ´Ï´Ù. ½ä··ÇÑ ºÐÀ§±â ¸¸µé´Ù´Ï..¤Ð_¤Ð Àú´Â ³À´Ù ´ÙÀ½ °Á·Π°Ç³Ê°¡¼
±â´Ù¸®°Ú½À´Ï´Ù.
¾ó·· ¿À¼¼¿ä~~~~ ^^
°Á ¸ñ·ÏÀ¸·Î..
|