如何使用 MVC 创建数据感知数据网格 ASP.NET

本文关键字:数据 网格 ASP NET 数据网 感知 MVC 创建 何使用 | 更新日期: 2023-09-27 18:33:29

我想创建一个数据表,每当单元格/行上出现鼠标悬停事件时,我都可以弹出一个上下文菜单/按钮,用于与单元格中的数据相关的操作。

示例:如果我在 a 列中有一个用户名,每当用户将鼠标移到该单元格上时,它都会显示"详细信息"、"更新"和"删除"按钮。如果我有一个地址列,每当用户将鼠标移到该地址单元格上时,我都会弹出一个说法......谷歌地图或其他东西。

我将使用 MVC 4 和 Ext.NET 或 JQuery ASP.NET 来实现这一点。欢迎这两个例子。谢谢!

注意:不需要详细的代码,但欢迎使用代码片段。

如何使用 MVC 创建数据感知数据网格 ASP.NET

首先,我认为从可用性的角度来看,悬停时显示动作按钮不是个好主意 - 因为您需要悬停才能发现有动作 - 有些人可能会查看表格,不知道下一步该做什么,只是意外发现实际上隐藏了一些按钮。

我会考虑使用现有的网格之一 - Telerik 的 mvc 网格很棒 - 特别是因为它们具有良好的客户端 API - 您可以使用它来实现您想要的,虽然需要花钱 - 但真的值得一试 - http://demos.kendoui.com/web/grid/index.html。

还有Grid.Mvc - 它是开源的,是可用的,尽管客户端API较弱:http://gridmvc.codeplex.com/wikipage?title=Client%20side%20%28javascript%29&referringTitle=Documentation

要实现您需要的内容,您需要将其拆分为任务:

1(检测悬停事件,为此你可以使用jQuery-http://api.jquery.com/hover/
2(检测你在哪一列,可能会在表头上使用一些数据属性,你可以像这样使用jQuery找到列头:

var $th = $td.closest('tbody').prev('thead').find('> tr > th:eq(' + $td.index() + ')');

3(根据您所在的
列切换逻辑4(使其可重复使用:)