ASP.Net GridView Context Menu
This post will cover how to add a context menu to a GridView in ASP.Net utilizing jQuery. Once your site is setup to utilize jQuery, you can simply include a new style sheet and script file and get awesome functionality fairly easy! Take a look at this site here to download the required files and their code samples. Mine below shows how I used this on a GridView in ASP.NET…
GridView
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<asp:GridView ID="gvResults" runat="server" DataKeyNames="PERSONID" AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" OnSelectedIndexChanged="gvResults_SelectedIndexChanged" Width="100%" OnRowDataBound="gvResults_RowDataBound" meta:resourcekey="gvResultsResource1"> <AlternatingRowStyle BackColor="White" ForeColor="#284775" /> <Columns> <asp:BoundField DataField="PERSONID" HeaderText="PERSON ID" meta:resourcekey="BoundFieldResource1" /> <asp:BoundField DataField="FNAME" HeaderText="FIRST NAME" meta:resourcekey="BoundFieldResource2" /> <asp:BoundField DataField="LNAME" HeaderText="LAST NAME" meta:resourcekey="BoundFieldResource3" /> <asp:BoundField DataField="DOB" HeaderText="DATE OF BIRTH" HtmlEncode="False" meta:resourcekey="BoundFieldResource4" /> </Columns> <EditRowStyle BackColor="#999999" /> <EmptyDataTemplate> <span style="color: Red;"> <asp:Literal ID="litErrorNoResultsFound" runat="server" EnableViewState="False" meta:resourcekey="litErrorNoResultsFoundResource1" OnInit="litErrorNoResultsFound_Init"></asp:Literal> </span> </EmptyDataTemplate> <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> <HeaderStyle BackColor="#3494CC" Font-Bold="True" ForeColor="White" HorizontalAlign="Left" /> <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" /> <RowStyle BackColor="#F7F6F3" ForeColor="#333333" /> <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" /> </asp:GridView> |
Menu
|
1 2 3 4 |
<ul id="recentMenu" class="contextMenu"> <li class="user"><a href="#viewContact">View Contact</a></li> <li class="view"><a href="#viewTasks">View Tasks</a></li> </ul> |
jQuery Initialization
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
$(document).ready(function() { $(".recentRow").contextMenu({ menu: 'recentMenu' }, function(action, el, pos) { contextMenuWork(action, el, pos); }); function contextMenuWork(action, el, pos) { var personid = $(el).find("#PersonID").text(); switch (action) { case "viewContact": { window.location = "Person.aspx?id=" + personid; break; } case "viewTasks": { window.location = "ClientTasks.aspx?id=" + personid; break; } } |


