哎。。。由於本人小菜,英語水平不高,官方文檔看了半天才找到關於PopupMenu中的抓取Grid中RowIndex值。不多說,直接上代碼,記錄自己的學習成果。
<!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>SimpleGrid</title> <script type="text/javascript"> function ContextMenu(s, e) { //只有在數據行顯示PopupMenu if (e.objectType == 'row') { //清除本頁已經選擇的行 s.UnselectAllRowsOnPage(); var rowIndex = e.index; //設置右鍵處的行為選中 s.SetFocusedRowIndex(rowIndex); //彈出菜單 popupMenu.ShowAtPos(ASPxClientUtils.GetEventX(e.htmlEvent), ASPxClientUtils.GetEventY(e.htmlEvent)); } } </script> </head> <body> <form id="form1" runat="server"> <div> <br /> <br /> <br /> </div> <div> <dx:ASPxGridView ID="grid" ClientInstanceName="grid" runat="server" Width="95%" KeyFieldName="Time"> <SettingsBehavior AllowSelectByRowClick="true" AllowSelectSingleRowOnly="true" AllowFocusedRow="true" /> <ClientSideEvents ContextMenu="ContextMenu" /> </dx:ASPxGridView> <dx:ASPxPopupMenu ID="popupMenu" runat="server" AutoPostBack="true" OnItemClick="popupMenu_ItemClick"> <Items> <dx:MenuItem Text="新增" Name="Add"> </dx:MenuItem> <dx:MenuItem Text="編輯" Name="Edit"> </dx:MenuItem> <dx:MenuItem Text="刪除" Name="Delete"> </dx:MenuItem> <dx:MenuItem Text="刷新" Name="Refresh"> </dx:MenuItem> </Items> </dx:ASPxPopupMenu> <dx:ASPxLabel ID="lblResult" runat="server" Text="ASPxLabel"> </dx:ASPxLabel> </div> </form> </body> </html>
后台菜單綁定獲取值的代碼如下:
protected void popupMenu_ItemClick(object sender, DevExpress.Web.ASPxMenu.MenuItemEventArgs e) { if (e.Item != null) { switch (e.Item.Name) { case "Add": lblResult.Text = "Add" + grid.FocusedRowIndex; break; case "Edit": lblResult.Text = "Edit" + grid.FocusedRowIndex; break; case "Delete": lblResult.Text = "Delete" + grid.FocusedRowIndex; break; case "Refresh": lblResult.Text = "Refresh" + grid.FocusedRowIndex; break; } } }
作 者:D.J. Chan 出 處:http://www.cnblogs.com/djchan/ 歡迎任何形式的轉載,但請務必注明出處。 |