UltraWebGrid根据CheckBox在客户端删除行

NVIDIA Isaac GR00T N1.5 人形机器人强化学习入门教程(四)Lerobot、宇树 G1 等不同形态机器人微调教程 本笔记本是一份关于如何在新的数据集上对GR00T-N1预训练模型进行微调的教程。 阅读详情
UltraWebGrid根据CheckBox在客户端删除行

一、要实现的目标
将UltraWebGrid的首列设为CheckBox,用CheckBox标出要删除的行,然后再按“删除”按钮进行删除。
二、基本思路
循环Grid中的所有行,判断CheckBox的值是否为真,如为真则删除当前行。
三、遇到的问题和解决方法
1、在判断CheckBox的值是否为真时,使用语句:if(row.Cells.FromKey("ifselect").getValue) row.deleteRow();出现问题,无论选没

选中都被删除,或者都没删除(JavaScript语句出错)。最后查找到原因是未将dataType设置成Boolean类型。
注:在UltraWebGrid中使用checkbox除了要设置type=checkbox外,还要设置datatype=Boolean
2、在删除行时,选中的行总不能完全删除,需要多次点击删除按钮才能完全将选中的行删掉。这个问题困扰了我好几天,代码如下:
function btnDelete_Click(oButton, oEvent){

    var grid=igtbl_getGridById("<%= me.UltraWebGrid1.ClientID %>");

    for(var i=0;i<grid.Rows.length;i++){

        var rw=grid.Rows.getRow(i);

        var isSel=rw.getCellFromKey("ifselect").getValue();

        if (isSel) rw.deleteRow();
    }

}

感觉程序写的没错啊,逐行判断逐行删除。怎么就会漏删了呢?随后跟踪调试,发现循环次数不对,明显少于应该循环的次数。再跟踪各变量

,最后找到grid.Rows.length这个值有问题,它不是个固定值,而是会随着循环次数的增加而减少,导致整个for循环次数没有达到指定的次

数。到底是什么改变了length这个值?这不是一个定值吗?一旦grid生成这个值就是不变的啊!冥思苦想也没有结果,网上查了很多资料也没

找到答案。后来单步执行时发现,deleteRow()以后,页面中的Grid会立即减少一行。于是,估计是在执行rw.deleteRow()后

grid.Rows.length发生了变化,用grid.Rows.remove(i,true)也是同样结果。但是怎么来解决这个问题?怎么能在length改变后也能循环到

第一行呢?又是一个头疼的问题!又查了很多资料,都没有好的或者情况相似的解决方法。
有变样的方法的:
function delete() {   
    //get the first row in the grid
    var row=igtbl_getRowById("UltraWebGrid1r_0");
    //delete the first row in the grid
    igtbl_deleteRow("UltraWebGrid1","UltraWebGrid1r_0");
    //create a counter for the row id
    var cnt=0;
    //create a loop, if the row has a next sibling then we need to delete it
    while(row.NextSibling!=null)    {
        //increment the counter for the next rowID
        cnt+=1;        //get the row current row using the name of the grid and the row
                 //number from our counter so we can check it for a sibling
        row=igtbl_getRowById("UltraWebGrid1r_"+cnt)        //finally delete that row,
        igtbl_deleteRow("UltraWebGrid1","UltraWebGrid1r_"+cnt);
    }
}
这种方法是把所有行都删除,不是我想要的。
另外的还有:
All the selected rows within the grid can be deleted as well. For deleting selected rows, use the following function:

igtbl_deleteSelRows(gridName).
igtbl_deleteSelRows("UltraWebGrid1");
可以改造上面的函数,将符合条件和行设为selected,然后调用igtbl_deleteSelRows()方法一次性删除所用的行。这种方法我试了一下,但

中途放弃了。不过这确是一种思路。另外用这种方法必须设置UltraWebGrid能选择多行,我就是在这卡住了。而且这里直接使用

UltraWebGrid的ClientID也不是我喜欢的一种。
另外试过一些方法,比如在服务器端删除,但都不能完全删除。一时间不知道怎样解决这个问题,怎样才能每一行都循环到。

今天再次打开,发现选择连续的两行必有一行漏删,而隔一行选择,则所有选中的行都能被删除,先试了奇数行再试了偶数行,都能完全删除

,然后再单步,发现删除一行后grid.Rows.length就会自动减一,但是 i 还是继续往下计数,而获取一行是用grid.Rows.getRow(i)方法,怎

样让 i 保持不变还是停在被删除的那一行,不就所有行都能历遍了吗?既然i++使i增加1,那么再将i减一不就可以了吗?于在deleteRow()后

添加一句i--,问题终于成功解决!终于得到我想要的结果和效果!怎样选择都将选中的一次删掉,不多删也不漏删!高兴啊……

function btnDelete_Click(oButton, oEvent){

    var grid=igtbl_getGridById("<%= me.UltraWebGrid1.ClientID %>");
   
    for(var i=0;i<grid.Rows.length;i++){

        var rw=grid.Rows.getRow(i);

        var isSel=rw.getCellFromKey("ifselect").getValue();

        if (isSel){

         rw.deleteRow(); //或者用grid.Rows.remove(i,true)

         i--;             //非常重要,grid在删除一行后,grid.Rows.length会减一

        }

    }

}

 

   连接:http://hi.baidu.com/lostparadise/blog/item/1f23aaec1563e72463d09f14.html

STM32实战开发(110):基于STM32的智能地震监测系统开发 地震监测系统是自然灾害预警体系中至关重要的一部分。随着地震灾害的频发和对自然灾害预测精度要求的提高,智能地震监测系统逐渐成为研究的热点。STM32作为一款高性能的微控制器,凭借其强大的处理能力和丰富的外设接口,在地震监测领域中得到了广泛应用。本篇文章将详细介绍如何使用STM32实现一个智能地震监测系统的开发过程,涵盖硬件设计、软件编程、系统实现及相关代码。通过集成加速度传感器、地震数据采集、实时数据处理和无线数据传输功能,我们可以设计一个高效、稳定的智能地震监测系统。 阅读详情

相关推荐

在matlab中运行自带的模块(以CCSDS LDPC Decoder模块为例)

最新版的获取需要注册 MathWorks 账户 访问账户注册页面:www.mathworks.cn/mwaccount/register。下载新版本或历史版本的MATLAB,请登陆:https://www.mathworks.cn/downloads 并下载。点击此处可以拷贝调用例程的命令,在matlab命令行输入即可自动获取代码。可以看到页面中写了该模块需要在R2022b以上版本使用。运行.m文件可以生成simulink运行所需要的数据。可以看到左侧下载到了官方历程的文件。之后双击slx文件即可打开。

qq_28455081的博客 885

ultragrid checkbox

울트라그리드에 체크박스 넣을 사용하는 속성. cols["checked"].Header.Caption = ""; cols["checked"].Header.ToolTipText = "Download DataBase"; cols["checked"].Width = 20; cols["checked"].Header.CheckBoxVisibility =...

weixin_34062329的博客 259

【智能车学习】电磁循迹中的基本控制算法

今天心血来潮,突然想总结一下电磁车的一些基本算法,也希望可以给新手同学们一点帮助和参考。本篇主要讲述智能车电磁循迹中涉及到的基本算法,包括滤波算法,归一化算法,PID控制等

Carry_qing的博客 6万+

UltraWinGrid 表头加checkbox,加全选功能

  // Create an instance of the CreationFilter. This needs to be Form-Level so // we can catch the event that fires when the CheckBox is clicked. CheckBoxOnHeader_CreationFilter aCheckBoxOnHea

lee576的专栏 4671

Arcgis填补栅格空缺值Nodata

Arcgis填补栅格空缺值Nodata

pass17的博客 1万+

创意视觉项目实战:用ESP32-S3+OV5640构建智能图像流系统

本文详细介绍了如何使用ESP32-S3开发板与OV5640摄像头模块构建智能图像流系统。从硬件连接到软件配置,涵盖Arduino环境搭建、图像采集优化、WiFi视频流传输及外设集成,为开发者提供完整的实战指南,助力智能家居和机器人视觉项目开发。

tech5的博客 1291

ultragrid获取判断checkBox是否选,并赋值

C#ultragrid获取判断checkBox是否选,并赋值checkbox的设置判断是否选中及获取值 checkbox的设置 style设置为checkBox即可 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 判断是否选中及获取值 1、判断是否选中 for (int i = 0; i < this.ultraGrid2.Rows.Count; i++)

qq_24459213的博客 662

STM32L476低功耗实战:LPTIM精准定时唤醒STOP2模式与系统级功耗优化

本文深入探讨了STM32L476低功耗实战技巧,重点解析了LPTIM精准定时唤醒STOP2模式的配置与优化。通过详细的步骤指南和实战经验分享,帮助开发者实现系统级功耗优化,特别适合电池供电设备开发。文章涵盖LPTIM1定时器配置、STOP2模式进入流程及常见问题排查,助力将整机功耗降至8.2uA级别。

weixin_33686714的博客 435

在客户端删除UltraWebGrid的所有行

有时需要在客户端上删除某个UltraWebGrid中所有的行,而如果按照帮助文件中例子的方法来操作的话,是无法删除行的。经询问NetAdvantage工程师,给出一个能用的例子。//帮助中的例子,不可用function DeleteRow() { // Row deletion needs to be allowed igtbl_getGridById("Ultra

lee576的专栏 1622

【ComfyUI】多模型 户型图风格渲染效果图

本文介绍了一种基于ComfyUI的室内户型图自动渲染工作流,将平面图转换为风格化效果图。该工作流通过RH_Captioner节点识别空间布局,结合Qwen2.5模型优化文本描述,再使用定制室内设计模型生成渲染图。整个流程包含图像输入、空间识别、文本组织、语言生成、风格转换和渲染输出等9个阶段,各节点协同完成从户型图到效果图的全自动转换。系统融合了语言理解和图像生成技术,可广泛应用于室内设计、装修可视化等领域。

Mr数据杨 3009

低轨通信 | 手机直连低轨卫星通信:架构、关键技术与未来展望

手机直连低轨卫星通信正推动人类进入"全域连接"时代。当中国星网GW星座与千帆星座的万颗卫星点亮夜空,当普通智能手机在珠峰之巅仍能流畅视频通话,当远洋渔船通过卫星物联网实现精准捕捞——这些场景不仅重构通信产业格局,更将深刻改变人类生产生活方式。正如工信部《指导意见》所规划,到2030年我国将发展超千万卫星通信用户,催生万亿级新市场[1][5]。在这场太空基建竞赛中,技术创新与标准制定的双重突破,将决定未来数字文明的星空版图。

尘世冰封的专栏 938

为UltraWebGrid 行中的按钮添加操作确认提示

在项目的开发中应用了Infragistics.WebUI.UltraWebGrid这个控件,并 把其中的两列设置为了“按钮”列,其中的一个按钮是实现页面跳转的功能,不需要提示,而另一列是实现对该行记录的删除功能,需要在删除前显示一个删除确认 提示。经过推敲,找到解决的办法,具体做法如下:一、在UltraWebGrid的属性中找到:DisplayLayout —> ClientSizeEve

lee576的专栏 2243

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

事件编写一个处理脚本

 在WebGrid的Cell编缉中,如何按向下键,自动跳到下行的同列的Cell中 首玩为WebGrid新增一个客户端事件EditKeyDownHandler(gridName, cellId, key)然后为此事件编写一个处理脚本处理函数Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.

Lovingness  奶茶 1007

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Infragistics NetAdvantage UltraWebGrid使用技巧

Infragistics NetAdvantage UltraWebGrid使用技巧 收藏 Infragistics系列控件是一套很好,很强大的控件,前些日子公司买的正版的asp.net版本的..好像800多美元一套...最新版本的7.3....感觉很好..现在自己做项目也用..却发现网上没有一套中文的教程,中文资料都很少..在这里就把自己的研究心得写下来... 首先安装,一步一步装就可以了..完

CUG_fangxiang的专栏 1459

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

UltraWebGrid使用指南

原创文章,转载请注明出处作者: BoyLee  出处: Http://BoyLee.netActiveReports和UltraWebGrid都是使用较为广泛.Net控件,有着方便,简单,强大等特点.但是网上相关的中文资料很少,几乎没有,想想自己刚用这两工具时候的痛苦,一直有写个简单的入门级的使用指南.后来在博客园看到不少大大用ActiveReports,也写了不少文章,于是俺决定写个WebGri

刘军龙 4480

UltraWebGrid中CheckBox的用法

在这个控件里的Checkbox与.net中DataGrid的用法不同:应该是 foreach(Infragistics.WebUI.UltraWebGrid.UltraGridRowrowinthis.dg_Employee.DisplayLayout.Rows) { if(dg_Employee.Rows[i].Cells.FromKey("Checkbox").Text=="true"...

javatoyou 339

在UltraWebGrid中增加CheckBox列

首先,先在UltraWebGrid中增加一个模板列(Templated Column),该列的Type值要设置成”CheckBox”。那么,现在在UltraWebGrid中就已有了一个CheckBox列。现在,要在该列的Header上加上一个CheckBox,当点击这个CheckBox时,可以在客户端上进行“全选”/“全不选”操作。编辑这列的HeaderTemplate,增加一个id、na

lee576的专栏 2066

NetAdvantage UltraWinGrid.UltraGrid控件中使用checkbox选择框

NetAdvantage  UltraWinGrid.UltraGrid控件中使用checkbox选择框 1)定义数据模型         private class DataInfo         {             public bool Selected { get; set; }             public Guid Product_Id { get; s

dacong的专栏 4991

实现ultrawingrid rows clear()功能

ultrawingrid 没有 rows clear()功能 自己写了一个等同的功能代码

lee576的专栏 1676

Ultrawebgrid获取checkbox选中的行

设置UltraWebGrid的第0列为模板列,加入CheckBox控件,判断其状态是否被选中,代码如下:    //可以写在任何地方,属于通用代码Infragistics.WebUI.UltraWebGrid.TemplatedColumn tcol = (TemplatedColumn)UltraWebGrid1.Bands[0].Columns[0];//模板列foreach(CellIt

lee576的专栏 2247

(转)UltraWebGrid使用指南 - 前台属性和方法(JavaScript用)

前台属性(JavaScript用)gridId: UltraWebGrid1  rowId的形式:     UltraWebGrid1r_4cellId的形式: UltraWebGrid1rc_4_1Grid オブジェクト{      .RowSizing = 2;        .SelectTypeRow = 2;}行(Row オブジェクト):{      .Element.id --------- 形式:WebGrid名称+r_X(X:Row番号)                          

曹秉毅的blog 1239

UltraWebGrid简单应用。(.net学习笔记)

1. 后台动态生成CheckBox,使用UltraWebGrid1_InitializeRow事件。    protected void UltraWebGrid1_InitializeRow(object sender, RowEventArgs e)    ...{        if (e.Row.Band.Index == 0)        ...{            str

volcanohong的专栏 515
上一篇: 中国人最常写错的100个字,你知道多少?
下一篇: 如何将Excel作为UltraWebGrid 数据源绑定到UltraWebGrid中?
caobingyi
博客等级 码龄20年 20粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值