¡¡¡¡±¾ÎÄ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£ºÔËÐÐÄúÉèÖõ±Ç°ÐеÄģʽ Ϊ±à¼­Ä£Ê½