¡¡¡¡±¾ÎÄBilal HaidarÏêϸ½âÊÍÈçºÎÀ©Õ¹ASP.NET2.0ÄÚÖõÄGridView¿Ø¼þ£¬Í¬Ñù»¹½«½âÊÍÁËÀ©Õ¹ºóµÄGridView¿Ø¼þËù¾ßÓеÄеÄÖØÒªÌØÕ÷£º»ùÓÚÐеÄÉÏÏÂÎIJ˵¥ºÍGridViewsÐеĹýÂ˹¦ÄÜ¡£
¡¡¡¡ÒýÑÔ
¡¡¡¡±¾ÎĽ«¾Û½¹¶ÔASP.NET2.0ÄÚÖõÄGridView½øÐÐÀ©Õ¹µÄһϵÁÐй¦ÄÜ¡£ÆäÖб¾ÎĽéÉÜÁ½¸öÖ÷ÒªÌØÕ÷£º»ùÓÚÐеÄÉÏÏÂÎIJ˵¥£¨Row_base ContextMenu£©ºÍ»ùÓÚ¹ýÂ˹¦ÄܵÄGridViewµÄÐУ¬ÔÚÉÏÖÜÎÒÔø¾½éÉÜÁËGridView¿Ø¼þ¡£
¡¡¡¡ÔÚÎÒÃÇ×Ô¶¨ÒåµÄGridView¿Ø¼þÀÌṩÁ˼¸¸ö¾ßÓС°¸ßЧÂÊ¡±¹¦ÄܵÄÀ©Õ¹£¬²»¹ý£¬ÕâЩ¹¦Äܶ¼²»ÊÇGridView¿Ø¼þ×Ô´øµÄ»ù±¾¹¦ÄÜ£¬ÕýÈçÄú¼´½«¿´µ½µÄ£¬ÎÒÃÇÐèÒªÒªÖØ¹¹ÕâЩ¹¦ÄÜ¡£ À©Õ¹ÏÖÔÚµÄGridView¿Ø¼þ¿ÉÒÔÈÃÄú¸üÄܹ»¿Ø¼þ³£¹æGridViewËùûÓеŦÄÜ£¬ÁíÍ⣬À©Õ¹¸Ã¹¦Äܺó£¬ÄúÒÔºó¾Í¿ÉÒÔ²»¶ÏÖØ¸´µÄʹÓÃÕâЩÐÂÌØÐÔ¡£
¡¡¡¡ÎÒÃÇ×¼±¸Ôö¼ÓÈçϼ¸¸öÌØÕ÷£º
¡¡¡¡1¡¢Ðеĵ¥»÷
¡¡¡¡2¡¢ÐеÄË«»÷
¡¡¡¡3¡¢»ùÓÚÐеÄÉÏÏÂÎIJ˵¥
¡¡¡¡4¡¢Í·ÔªËصÄÉýÐò½µÐòÅÅÁÐ
¡¡¡¡5¡¢µ±Ò³Ãæ¼Ç¼Ê÷ľСÓÚPageSizeʱ£¬ÐÞÕýGridViewµÄ¸ß¶È
¡¡¡¡6¡¢ÄÚÖõĹýÂËÎı¾¿ò
¡¡¡¡7¡¢ÄÚÖõĸ´Ñ¡¿ò
¡¡¡¡³ý´ËÒÔÍ⣬ÎÒÃÇ»¹½«Ìí¼ÓÈý¸ö¼òµ¥°´Å¥£¬¿ÉÒÔÀûÓÃËûÃÇÔÚ¿Í»§¶ËÌí¼ÓһЩ¼òµ¥µÄÈ·ÈϺ¯Êý
¡¡¡¡¡¤È·Èϰ´Å¥£¨Confirm Button£©
¡¡¡¡¡¤Í¼Æ¬°´Å¥£¨Confirm Image Button£©
¡¡¡¡¡¤Á´½Ó°´Å¥£¨Confirm Link Button£©
¡¡¡¡À©Õ¹µÄXGrid¿Ø¼þÐèÒª´ÓGridView¿Ø¼þÅÉÉú£¬ÕâÒ²¾Í˵Õâ¸öеĿؼþ¿ÉÒÔÔÚASP.NET2.0ÉÏÔËÐС£
¡¡¡¡ÏÂÃæ´úÂëÏÔʾÁËÀ©Õ¹ºóµÄµÄ¿ªÊ¼²¿·Ö£º
namespace CustomControls { ¡¡namespace Grid ¡¡{ ¡¡¡¡[ToolboxData("£¼{0}:xGrid runat=server£¾£¼/{0}:xGrid£¾")] ¡¡¡¡public partial class xGrid : GridView ¡¡¡¡{ ¡¡¡¡ÒªÊ¹ÓÃÕâ¸ö¿Ø¼þ£¬Ö»Òª¼òµ¥µÄ°ÑËüͨ¹ýVS.NET2005µÄ¹¤¾ßÀ¸Ö±½ÓÍϷŵ½Web´°ÌåÉϼ´¿É¡£¾ßÌåÔõ°Ñ¸Ã¿Ø¼þÌí¼ÓVS.NET2005¹¤¾ßÀ¸ÉÏÔò²»ÊDZ¾ÎÄÌÖÂ۵ķ¶Î§¡£
¡¡¡¡ÏÂÃæµÄ´úÂëÆ¬¶ÏÏÔʾÁËËüµÄ»ù±¾Ê¹ÓÃ
£¼xGrid:xGrid ID="XGrid1" runat="server" AutoGenerateColumns="False" /£¾ ¡¡¡¡µ¥»÷£¨Single Row Click£©
¡¡¡¡ÕâÊǸÃ×Ô¶¨Òå¿Ø¼þÌí¼ÓµÄµÚÒ»¸öÐÂÌØÐÔ£¬ÄúÏÖÔÚ°ÑÊó±ê·ÅÖõ½Ò»ÐÐÊý¾ÝÉÏÈ»ºóµ¥»÷¾Í»áÒýÆðÒ³ÃæÊý¾ÝµÄ»Ø·¢£¬Äã¿ÉÄÜÈÏΪʹÓÃÕâ¸ö¹¦ÄÜʵÏÖÖ÷/´ÓÒ³Ãæ£¬Êǵģ¬Ê¹ÓÃRowClick¿ÉÒÔʵÏÖÕâ¸ö¹¦ÄÜ¡£
¡¡¡¡Ïà¹ØµÄÊôÐÔÊÇ£º
¡¡¡¡¡¤EnableRowClick£ºÕâ¸öÊôÐÔ¿ÉÒÔȡֵΪtrue/false£¬Ä¬ÈÏΪfalse
¡¡¡¡¡¤MouseOverColor£ºµ±EnableRowClickÉèÖÃΪtrueʱ£¬ÀûÓøÃÊôÐÔÉèÖÃÊó±êÒÆ¹ýÒ»ÐÐÊý¾ÝÏÔʾµÄ½á¹û¡£µ¥»÷ºÍË«»÷¶¼Ê¹ÓÃÕâ¸ö¹¦ÄÜ¡£
¡¡¡¡ÏÂͼÏÔʾÁËÔËÐнá¹û£¬ÔÚÕâ¸öÔËÐнá¹ûÀÏÔʾÁ˵¥»÷Ò»ÐÐʱµÄЧ¹û¡£

¡¡¡¡Äú¿ÉÒÔÔÚRowClickʼþÀï´¦Àíµ¥»÷µÄ½á¹û£¬Ê¾Òâ´úÂëÈçÏ£º
protected void XGrid1_RowClick(object sender, RowClickEventArgs e) { ¡¡Response.Write("You clicked row: " + e.GridViewRow.RowIndex); } ¡¡¡¡RowClickEventArgs²ÎÊýĬÈÏÊÇ´ÓEventArgs ÀàÅÉÉú£¬²¢Ôö¼ÓÁËÒ»¸öÃû³ÆÎªGridViewRow µÄÊôÐÔ£¬ÕâÑùÄú¾Í¿ÉÒÔʹÓøÃÊôÐÔ»ñÈ¡µ±Ç°ÐеÄË÷Òý¡£¡¡¡¡ÐеÄË«»÷£¨Double Row Click£©
¡¡¡¡ÕâÊÇÍùÀ©Õ¹GridViewÌí¼ÓµÄµÚ¶þ¸ö¹¦ÄÜ¡£ÄúÏÖÔÚÖ»ÐèÒªÔÚÒ»ÐÐÉÏË«»÷¾Í»áÏò·þÎñÆ÷²úÉúÊý¾Ý»Ø·¢À´´¦ÀíÇëÇó¡£Äú¿ÉÒÔͨ¹ýË«»÷Èõ±Ç°Ðд¦ÓÚ±à¼Ä¬ÈÏ¡£ ÔÚÐеÄË«»÷ÀïÒѾÌí¼ÓÁËRowDoubleClickʼþ£¬Äú¿ÉÒÔʹÓøÃʼþ´¦ÀíÌØ¶¨µÄÒµÎñÂß¼
¡¡¡¡Ïà¹ØµÄÊôÐÔ
¡¡¡¡EnableRowDoubleClick£ºÈ¡ÖµÎªtrue»òÕßfalse£¬Ä¬ÈÏֵΪfalse
¡¡¡¡MouseOverColor£ºµ±EnableRowDoubleClickÉèÖÃΪtrueʱ£¬¿ÉÒÔÀûÓøÃÊôÐÔÉèÖÃÉèÖÃÊó±êÒÆ¹ýÐеÄЧ¹û£¬Õâ¸öºÍµ¥»÷ÐеÄЧ¹ûÒ»Ñù¡£
¡¡¡¡ÏÂͼÏÔʾÁËÔËÐнá¹û

¡¡¡¡Äú¿ÉÒÔ´¦ÀíRowDoubleClick ʼþ£¬Ê¾Òâ´úÂëÈçÏ£º
protected void XGrid1_RowDoubleClick(object sender, RowDoubleClickEventArgs e) { ¡¡Response.Write("You double clicked row: " + e.GridViewRow.RowIndex); } ¡¡¡¡RowDoubleClickEventArgs Ààʱ´ÓEventArgs ÀàÅÉÉú²¢Ìí¼ÓÁËGridViewRow ÊôÐÔ£¬Ê¹ÓøÃÊôÐÔ¿ÉÒÔ¸øÄã¸üÈ«µÄ¿Ø¼þ
¡¡¡¡»ùÓÚÐеÄÉÏÏÂÎIJ˵¥
¡¡¡¡ÎÒÃÇ»¨·ÑÁËÒ»¸ö°ëÔÂ×óÓÒµÄʼþÀ´Ñо¿GridView¿Ø¼þ£¬µ«ÊÇÎÒÃÇ·¢ÏÖûÓÐÒ»¸öGridView¿Ø¼þ¿ÉÒÔʹÓÃContextMenu£¬Ò²¾ÍÊÇ˵ÄÚÖõÄGridViewÉÏÏÂÎIJ˵¥¿Ø¼þÎÞ·¨Ê¹Óá£
¡¡¡¡ÎÒÃDz»µÃ²»Ê¹ÓÃDino Esposito¿ª·¢µÄcontext meun£¬¸Ã²Ëµ¥µÄ¿ª·¢Îĵµ·¢²¼ÔÚMSDNÔÓÖ¾ÉÏ£¬±¾ÎĺóÃæ»áÔÚ×ÊÁÏÎļþÀïÁгö¶Ô¸ÃÎļþµÄÁ´½Ó¡£ Dino Esposito¿ª·¢µÄContext MenuÖ÷ҪʹÓÃASP.NET1.1¼¼Êõ½øÐпª·¢£¬ÎÒÃÇÒѾ½¨Á¢ÁË»ùÓÚASP.NET2.0 Context MenuÏîÄ¿£¬¸ÃÏîÄ¿¿½±´ÁËËûµÄ´úÂ룬²¢½øÐÐÁ˼òµ¥µÄ¸ü¸Ä¡£ÆäÖУ¬Ò»¸ö¸Ä±äÊÇÔÚContext MenuÏîÄ¿ÀïÌí¼ÓÁËOnClientClickÊôÐÔ£¬ÕâÑùÔÚ´¦Àí¿Í»§¶ËÏò·þÎñÆ÷ÇëÇóµÄ»Ø·¢Ç°£¬¿ª·¢ÈËÔ±¿ÉÒÔ½«¿Í»§¶Ë´¦Àíʼþ¹Ò½Óµ½ÉÏÏÂÎIJ˵¥Àï¡£
¡¡¡¡Context MenuʹÓõĿͻ§¶Ë´úÂëÖ÷ÒªÊÇJavascript´úÂ룬ÕâÀïµÄ´úÂëÔÚASP.NET2.0ÀïÒѾ×÷Ϊ×ÊÔ´£¨Resource£©°üÀ¨½øÈ¥ÁË¡£
¡¡¡¡Context MenuÏÖÔÚÒѾÊÇ»ùÓÚASP.NET2.0µÄÏîÄ¿Á˲¢ÇÒÒѾ¼¯³Éµ½À©Õ¹µÄGridView¿Ø¼þµÄÿһÐУ¬ÏÖÔÚµ±ÄúÓÒ»÷ÿһÐÐʱ£¬Äú½«¿ÉÒÔ·ÃÎÊÓÒ»÷ʼþ¡£À©Õ¹µÄGridView¿Ø¼þ»¹ÓÐÒ»¸öеÄÊôÐÔ£ºRightClickRow£¬¸ÃÊôÐÔ¿ÉÒÔ·µ»Øµ±Ç°ÐÐÉÏÏÂÎIJ˵¥
¡¡¡¡Ïà¹ØµÄÊôÐÔÈçÏ£º
¡¡¡¡¡¤GridView¿Ø¼þÊǾßÓÐÉÏÏÂÎIJ˵¥µÄ£¬ÕâÀïµÄIDÉèÖõľÍÊÇÔÚASPXÒ³ÃæÉϵÄGridView¿Ø¼þID
¡¡¡¡¡¤RightClickedRow£º¸ÃÊôÐÔÉèÖÃÉÏÏÂÎIJ˵¥¡£
¡¡¡¡ÏÂͼÏÔʾÁËÔËÐнá¹û¡£

¡¡¡¡µ±ÄúÔÚÐÐÉϵ¥»÷Êó±êÓÒ¼üʱµ¯³öContext Menu²Ëµ¥¡£ÕâÀïÏÔʾÁËÈý¸öÑ¡Ï
¡¡¡¡¡¤Add a new Row£ºµ±Ñ¡Ôñ¸ÃÑ¡Ïîºó£¬½«»áÔڼǼÀï³öÏÖн¨ÐС£
¡¡¡¡¡¤Delete Row£ºÔÊÐíÄãɾ³ýµ±Ç°ÓÒ»÷µÄÐÐ
¡¡¡¡¡¤Edit Row£ºÔËÐÐÄúÉèÖõ±Ç°ÐеÄģʽ Ϊ±à¼Ä£Ê½

|