ASP.NET-FineUI开发实践-15

简介: 1.按条件控制Grid不可编辑     Grid编辑其实用到的不多...但是也有要控制权限或者其他条件不能编辑的情况其实挺简单,学过extjs的知道,我现在也只是写前台了,没有写到后台事件,有时间再说吧,如果条件是服务器判断可以参考官网的给行和列加样式的例子,轻轻点我就转到了 我这么好心就吧源码贴出来吧   1 F.

1.按条件控制Grid不可编辑

    Grid编辑其实用到的不多...但是也有要控制权限或者其他条件不能编辑的情况其实挺简单,学过extjs的知道,我现在也只是写前台了,没有写到后台事件,有时间再说吧,如果条件是服务器判断可以参考官网的给行和列加样式的例子,轻轻点我就转到了
我这么好心就吧源码贴出来吧
 
 1         F.ready(function () {
 2             F('<% = Grid1.ClientID %>').on('beforeedit', function (editor, e) {
 3                 //判断数据,注意是ColumnID
 4                 if (e.record.get('Gender') == '1') {
 5                     F.alert('你是男的你忘了?不能编辑的');
 6                     return false;
 7                 }
 8                 //判断字段,也是ColumnID
 9                 else if (e.field != 'Name') {
10                     F.alert('女的就改个名得了呗...只能编辑性名列');
11                     return false;
12                 }
13                 //判断行号
14                 else if (e.rowIdx == 1) { 
15                     return false;
16                 }
17                 //判断列号
18                 else if (e.colIdx == 1) { 
19                     return false;
20                 }
21             });
22         });
注意  : return false; 就是取消编辑,beforeedit就是编辑前事件,么么哒
 
2.禁止行选择事件
    禁止指定行选择也有这个需求,也没写特别好,要自己学下,同样考虑分页和服务器条件的话要参考例子【不要用力点我就转到了
放出源码
 
1 <f:HiddenField ID="highlightRows" Text="1,2,4" runat="server">
2 </f:HiddenField>
 1 <script src="../res/js/jquery.min.js"></script>
 2      <script>
 3          var highlightRowsClientID = '<%= highlightRows.ClientID %>';
 4          var gridClientID = '<%= Grid1.ClientID %>';
 5          function disabledRowcheck() {
 6              // 增加延迟,等待HiddenField更新完毕
 7              window.setTimeout(function () {
 8                  var highlightRows = F(highlightRowsClientID);
 9                  var grid = F(gridClientID);
10                  $(grid.el.dom).find('.x-grid-cell-row-checker.x-item-disabled').removeClass("x-item-disabled");
11                  $.each(highlightRows.getValue().split(','), function (index, item) {
12                      if (item !== '') {
13                          var row = grid.getView().getNode(parseInt(item, 10));
14                          $(row).find('.x-grid-cell-row-checker').addClass('x-item-disabled');
15                      }
16                  });
17              }, 100);
18          }
19          F.ready(function () {
20              F('<% = Grid1.ClientID %>').on('beforeselect', function (t, record, index, e) {
21                  var highlightRows = eval("[" + F(highlightRowsClientID).getValue() + "]");
22                  if (highlightRows.indexOf(index) >= 0) {
23                      F.alert('这行不让选择了');
24                      return false;
25                  }
26                  else { return true; }
27              });
28              F('<% = Grid1.ClientID %>').on('columnhide', function () {
29                  disabledRowcheck();
30              });
31              F('<% = Grid1.ClientID %>').on('columnshow', function () {
32                  disabledRowcheck();
33              });
34              F('<% = Grid1.ClientID %>').getStore().on('refresh', function () {
35                  disabledRowcheck();
36              });
37              disabledRowcheck();
38          });
39     </script>
我是仿照例子写了 个 disabledRowcheck 方法,移出和新增了 x-item-disabled 样式,是内置的,加上了还点效果,禁止编辑也可以这么写,beforeselect 事件就是选择之前的事件,注意return ,disabledRowcheck 分别在 列隐藏,列显示,刷新事件中触发, 这是由于这几个事件都会重新绘制HTML
以上版本为 4.1.5 ,只是应用了几个extjs 的事件,其他的都来自官方示例,我也就是给出个提示,大家千万不要跪着看我的博客
目录
相关文章
|
2天前
|
人工智能 前端开发 开发工具
解读.NET 技术的开发潜力
本文全面介绍了.NET技术在软件开发领域的核心优势、创新应用及面临的挑战。.NET以其统一的开发平台、强大的工具和跨平台能力,成为企业级应用、Web应用乃至游戏开发的理想选择。然而,在性能优化、容器化及AI集成等方面仍需不断突破。通过积极拥抱开源和社区驱动模式,.NET将持续推动软件开发的进步。
11 1
|
13天前
|
存储 运维
.NET开发必备技巧:使用Visual Studio分析.NET Dump,快速查找程序内存泄漏问题!
.NET开发必备技巧:使用Visual Studio分析.NET Dump,快速查找程序内存泄漏问题!
|
14天前
|
SQL 关系型数据库 数据库
七天.NET 8操作SQLite入门到实战详细教程(选型、开发、发布、部署)
七天.NET 8操作SQLite入门到实战详细教程(选型、开发、发布、部署)
|
13天前
|
消息中间件 开发框架 前端开发
YuebonCore:基于.NET8开源、免费的权限管理及快速开发框架
YuebonCore:基于.NET8开源、免费的权限管理及快速开发框架
|
19天前
|
开发框架 JavaScript 前端开发
|
20天前
|
C# Windows 开发者
超越选择焦虑:深入解析WinForms、WPF与UWP——谁才是打造顶级.NET桌面应用的终极利器?从开发效率到视觉享受,全面解读三大框架优劣,助你精准匹配项目需求,构建完美桌面应用生态系统
【8月更文挑战第31天】.NET框架为开发者提供了多种桌面应用开发选项,包括WinForms、WPF和UWP。WinForms简单易用,适合快速开发基本应用;WPF提供强大的UI设计工具和丰富的视觉体验,支持XAML,易于实现复杂布局;UWP专为Windows 10设计,支持多设备,充分利用现代硬件特性。本文通过示例代码详细介绍这三种框架的特点,帮助读者根据项目需求做出明智选择。以下是各框架的简单示例代码,便于理解其基本用法。
59 0
|
20天前
|
Java Spring UED
Spring框架的异常处理秘籍:打造不败之身的应用!
【8月更文挑战第31天】在软件开发中,异常处理对应用的稳定性和健壮性至关重要。Spring框架提供了一套完善的异常处理机制,包括使用`@ExceptionHandler`注解和配置`@ControllerAdvice`。本文将详细介绍这两种方式,并通过示例代码展示其具体应用。`@ExceptionHandler`可用于控制器类中的方法,处理特定异常;而`@ControllerAdvice`则允许定义全局异常处理器,捕获多个控制器中的异常。
34 0
|
SQL Web App开发 JavaScript
使用VS Code开发asp.net core (下)
第一部分: https://www.cnblogs.com/cgzl/p/8450179.html 本文是基于Windows10的. Debugging javascript 打开wwwroot/js/site.
1665 0
|
前端开发 .NET 开发工具
使用VS Code开发asp.net core (上)
本文是基于Windows10的. 下载地址: https://code.visualstudio.com/ insider 版下载地址: https://code.visualstudio.com/insiders/ 这两个版本可以同时安装在系统中.
2786 0
|
14天前
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
21 7

相关实验场景

更多