DataGrid模板列的CheckBox事件定义方法

异次元发卡最新漏洞0day(XSS组合拳) 异次元商店头像上传处存在存储型XSS注入(user、admin均存在)。其中,user处有过滤,admin无。 将恶意脚本插入后,管理员访问用户管理页面即可执行恶意脚本。 恶意脚本执行后,会新增一个管理员用户,进而获得权限。鉴于漏洞还没有泛滥,而且很多站都有漏洞。EXP暂时不公开。需要学习可以加入知识星球 阅读详情

  DataGrid的模板列中使用CheckBox是很常见的现象,而每个CheckBox怎么触发事件,又如何得到发生事件的当前行数据,是本文描述的中心。它并没有什么技术含量,但不了解的话,会让你在这里浪费一些时间。举个简单的例子:你需要在点击DataGrid上的CheckBox后,在将当前行数据复制到另一个表格中。

    ok,言归正传。

    假设当前有这样一个DataGird:

<asp:datagrid id="preCustList" Runat="server" width="100%" AutoGenerateColumns="False">

    <Columns>

    <asp:BoundColumn DataField="CustomerID" HeaderText="Customer ID"></asp:BoundColumn>

    <asp:BoundColumn DataField="NameCn" HeaderText="Customer Name"></asp:BoundColumn>

    <asp:BoundColumn DataField="CustCateGoryType" HeaderText="Customer Category"></asp:BoundColumn>

    <asp:BoundColumn DataField="PcAppDate" HeaderText="Create On" DataFormatString="{0:yyyy-MM-dd}"></asp:BoundColumn>

    <asp:TemplateColumn HeaderText="Is Tran">

        <ItemTemplate>

            <asp:CheckBox ID="aspTran" Runat="server" AutoPostBack="True" OnCheckedChanged="TranChecked"></asp:CheckBox>

        </ItemTemplate>

    </asp:TemplateColumn>

    </Columns>

</asp:datagrid>

  这里的做法是:在页面定义OnCheckedChange事件,让.net的托管机制自动注册事件与回调方法的关系。有不少帖子是在DataGrid的 ItemDataBind事件中,通过FindControl()找到CheckBox后,动态注册。我做过测试,没有效果。   接下来,你需要在后台页面定义一个protected或public的TranChecked方法,注意这里设定为private权限,是无法访问的: protected void TranChecked(object sender, System.EventArgs e)

{

        // sender为事件源,我们可以通过下面的方式获得DataGrid当前行

        CheckBox cb = (CheckBox)sender; DataGridItem item = cb.Parent.Parent;

        // 第一个Parent得到的是item的cell;第二个Parent得到Item 

        // 下面就可以操作item的其他cells了

        .......

}

----------------------------------------------------------------------------------  

实际上,使用CheckBox的客户端事件,更为简单:  

 <asp:datagrid id="preCustList" Runat="server" width="100%" AutoGenerateColumns="False">

     <Columns>

      <asp:BoundColumn DataField="CustomerID" HeaderText="Customer ID"></asp:BoundColumn>

      <asp:BoundColumn DataField="NameCn" HeaderText="Customer Name"></asp:BoundColumn>

      <asp:BoundColumn DataField="CustCateGoryType" HeaderText="Customer Category"></asp:BoundColumn>

      <asp:BoundColumn DataField="PcAppDate" HeaderText="Create On" DataFormatString="{0:yyyy-MM-dd}"></asp:BoundColumn>

      <asp:TemplateColumn HeaderText="Is Tran">

      <ItemTemplate>

            <input type="checkbox" name="Tran" id="Tran" onclick="Checked('<%# DataBinder.Eval(Container.DataItem,"CustomerID")%>', '<%# DataBinder.Eval(Container.DataItem,"NameCn")%>', '<%# DataBinder.Eval(Container.DataItem,"CustCateGoryType")%>', '<%# DataBinder.Eval(Container.DataItem,"PcAppDate")%>')" />

    </ItemTemplate>

    </asp:TemplateColumn>

    </Columns>

</asp:datagrid>

<table id="listtable">

    <tr>

        <td>Customer ID</td>

        <td>Customer Name</td>

        <td>Customer CateGory</td>

        <td>Create On</td>

        <td>Is Tran</td>

    </tr>

    <tr>

        td>&nbsp;</td>

        <td>&nbsp;</td>

        <td>&nbsp;</td>

        <td>&nbsp;</td>

        <td>&nbsp;</td>

    </tr>

</table>

客户端方法Checked的定义如下:

function Checked(customerID, customerName, customerCategory, createOn)

{  

      // 第一行赋值

      var temp = document.getElementById("listtable");

      var strRow = temp.rows[temp.rows.length - 1];

      strRow.cells[0].innerText = customerID;

      strRow.cells[1].innerText = customerName;

      strRow.cells[2].innerText = customerCategory;

      strRow.cells[3].innerText = createOn;

      strRow.cells[4].innerHTML = '<a onclick="javascript:deleteCurrentRow();" href="#">删除</a>';

   

      // 再新添一空行

      document.all('listtable').outerHTML = document.all('listtable').outerHTML.replace(/<//table>/i,

       '<tr><td> </td><td> </td><td> </td><td> </td><td> </td></tr>'   +   "</table>")

}    

deleteCurrentRow()的方法就不贴上来的。  

----------------------------------------------------------------------------------  

【总结】  

    客户端实现的响应速度显然快于在服务端实现的方法,而且不用页面跳转,没有烦人的刷新现象。但是客户端事件有一个致命的问题:由于下面Table的数据插入是在客户端进行的,只要页面刷新,数据就会丢失,录入:当你上面的DataGrid实现了翻页功能后,每翻一页,以前选定的数据就会丢失。  

    当然,你可能会说用隐藏域(<input type="hidden"/>)可以解决问题,但毕竟删除隐藏域的记录不方便。

 

RK3588部署rtmpose模型 摘要: 本文详细介绍了在RK3588开发板上部署RTMPose模型的全流程。首先在Ubuntu环境中搭建MMCV框架,通过MMPose工具将PTH模型转换为ONNX格式。随后使用RKNN-Toolkit2将ONNX模型转换为RKNN格式,并完成开发板部署。关键步骤包括模型转换(PTH→ONNX→RKNN)、环境配置和推理验证,最终实现人体姿态估计功能。整个过程涉及MMPose、RKNN-Toolkit等工具链的使用,为边缘计算场景下的实时姿态分析提供了可行方案。 阅读详情

相关推荐

NotImplementedError: Cannot copy out of meta tensor; no data! Please use torch.nn.Module.to_empty()

Please use torch.nn.Module.to_empty() instead of torch.nn.Module.to()输出(llama) (base) [root@localhost home]# nvidia-smi Unable to determine the device handle for GPU0000:09:00.0: Unknown Error。这是典型的“孤儿进程”,但它还是。(僵尸进程),占用 GPU 资源。如果进程仍然不消失,并且。,这意味着它的父进程是。

m0_61636632的博客 2096

DataGrid中CheckBox操作

 一、实现全选或多选,并将ID值记入到控件hFlatID中   1、记录ID值的控件:           2、DataGrid代码:        <asp:DataGrid ID="dg" runat="server" Width="100%" AutoGenerateColumns="False" AllowPaging="True"

鲁班学艺 991

软考软件评测师备考避坑指南:过来人告诉你这5个章节最容易丢分(附2024最新考纲解析)

本文为软考软件评测师考生提供备考避坑指南,深度解析5个高频失分章节,包括标准化与信息化基础、中间件技术、软件测试模型、白盒测试覆盖准则和性能测试指标。文章结合2024最新考纲,分享实战技巧和记忆口诀,帮助考生精准打击失分重灾区,提升备考效率。

weixin_29223603的博客 467

在DataGrid中利用CheckBox全选所有行

                                                    在DataGrid中利用CheckBox全选所有行 效果图:背景:asp.net中的DataGrid用复选框全选或全不选其中所有行思路:因为经常有这方面的需求,以往都是在客户端写脚本,通用性差。所以我想把该功能写成一个控件,以达到复用的效果。功能包括:1、DataGr

soarheaven的专栏 3676

vue使用 APlayer+Meting实现音乐播放,支持多平台音乐:网易云、腾讯、虾米、酷狗、百度

  我之前写过一篇博客:使用 APlayer 实现音乐播放器,虽然 APlayer 让我实现了想要的音乐播放器效果,但是音频列表 audio 的音频链接、音频封面、歌词等,是需要自己去补充的。   那么这些数据从哪里来呢?   我昨天有发愁一会儿会儿,也去搜了获取音乐列表的接口,可以发请求去获取数据嘛。   也有瞅见MetingJS,A powerful plugin connect APlayer and Meting,一个连接APlayer和Meting的功能强大的插件,附上GitHub地址:https

小R.的博客 4798

Basilisk vs. STK:开源航天仿真工具在Windows上的实战体验与生态对比

本文对比了开源航天仿真工具Basilisk与商业软件STK在Windows平台上的实战体验与生态差异。从技术架构、安装配置、使用成本、功能覆盖、社区生态到适用场景,全面分析了二者的优劣势,为航天工程师和研究人员提供选型参考。Basilisk在性能和扩展性上表现突出,而STK在可视化与专业模块上更具优势。

weixin_30632089的博客 589

DATAGRID 加入全选反选的按钮

 我们知道DataGrid是非常强大的一个ASP.NET组件,我们可以用它表示非常丰富的信息.在论坛里经常可以看见一些网友问一些关于该控件的问题,我虽不是什么高手但是对DataGrid还是有一些了解,加上我比较喜欢学习所以我今天就将DataGrid和CheckBox的组合使用做一个简单的描述.我们可能在写程序的时候都遇到这种情况:需要选择一个列表的所有项或者取消所有项的选择来删除这些列以及如何

拓荒者的跋涉 1129

从量子兔AlphaPi硬件拆解到ESP32-C3库开发实战

本文详细拆解了量子兔AlphaPi开发板的硬件构成,重点分析了其核心ESP32-C3芯片及外围传感器。通过逆向工程揭示了GPIO引脚定义与通信协议,并实战演示了如何从零开发MicroPython库,驱动按键、加速度计及LED点阵,最终整合成一个互动平衡球游戏项目,展现了开源硬件在教育与二次开发中的潜力。

weixin_29164497的博客 460

CheckBox在DataGrid上选择复选框

CheckBox在DataGrid上选择教程 »在DataGrid上选择CheckBox本教程将向您介绍如何在DataGrid上放置复选框列。通过复选框,用户可以选择一次选择/取消选择网格行。观看演示要添加复选框列,我们只需添加一个带有复选框属性的列并将其设置为true。代码看起来像这样:&lt;table id = “tt” title = “复选框选择” class = “easyui-dat...

qq_40435659的博客 1637

如何适配自定义激光雷达数据到LIO-SAM:解决ring和time参数缺失问题

本文详细解析了如何将非标准激光雷达(如速腾、Livox)适配到LIO-SAM框架中,重点解决ring和time参数缺失问题。提供了从源码修改到通用适配中间件的多层级解决方案,并包含实机测试与性能调优指南,帮助开发者高效完成雷达数据适配。

weixin_42551227的博客 421

【OpenClaw从入门到精通】第45篇:Skill供应链安全——如何识别并避开恶意技能插件?(2026实测版)

随着OpenClaw生态爆发式增长,全球Skills总量近75万个,日均新增2.1万个,但恶意/问题插件已超600个,数十万用户受影响。本文基于奇安信威胁报告及360安全实践,拆解恶意技能的五大核心特征,提出"安装前三步法"安全审查流程,详解安全技能来源白名单与定期审计方案,并深度解析360龙虾Skill安全超市的分级认证机制。读者可掌握从技能筛选、安装审查到术后审计的全流程安全防护手段,通过实操命令与案例演示,零成本构建Skill供应链安全防线,避免遭遇私钥窃取、资产损失等安全事件。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 564

DataGrid模板列中CheckBox事件的定义方法

DataGrid的模板列中使用CheckBox是很常见的现象,而每个CheckBox怎么触发事件,又如何得到发生事件的当前行数据,是本文描述的中心。它并没有什么技术含量,但不了解的话,会让你在这里浪费一些时间。举个简单的例子:你需要在点击DataGrid上的CheckBox后,在将当前行数据复制到另一个表格中。 ok,言归正传。 假设当前有这样一个DataGird: 这里

440

静态时序分析(STA)—— 标准单元库

目录 1、时序库 概览 2、时序模型 1、基本概念 2、影响因素 3、线性延时模型 4、非线性延时模型 5、单元时序弧 1、组合逻辑单元 2、时序逻辑单元 6、线负载模型 参考说明 上一篇,学习了 STA相关的基本概念,本篇继续学习 STA相关的 标准单元库。 1、时序库 概览 库文件概览: 2、时序模型 1、基本概念 2、影响因素 对于组合逻辑的时序弧而言,其延时的大小取决于: 1、输出负载,即,输出端的电容负载的大小。容性负载越大,...

记录所学,分享知识,结识挚友 2855

DataGrid模板列应用——在DataGrid中用CheckBox控制TextBox的Enabled属性

将模板列的CheckBox的AutoPostBack属性设置为true,因为在模板列中的控件没有事件,故在aspx页面写事件程序,同时将CheckBox的OnCheckedChanged事件设置为所需要的事件程序。示例如下:  void Check_Change(Object sender, EventArgs e) {  TextBox txtDescription; foreach(DataG

他山之石,可以攻玉 1423

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

利用Session纪录datagrid模板列中CheckBox的状态

在DataGrid 的模板列中加入CheckBox ,如果对DataGrid设置分页,前一页已经选中的CheckBox在回到原页时,CheckBox的状态会变为初始状态。       如果想保存checkbox的状态,则可以用Session保存,我是这样实现的:      1、首先,建立DataGrid.                                              

嗨!您好!Welcome my blog 691

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

DataGrid模板列,CheckBox事件邦定

                                  public void CheckedChanged(object sender, System.EventArgs e)  {   int i;    CheckBox chkTMP;   CheckBox chkTMP=(CheckBox)sender;   System.Web.UI.WebControls.Da

xuridongsheng6936的专栏 736

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

DataGrid 模板列中全选CheckBox 并在删除选中后给出选择删除提示

DataGrid 模板列中全选CheckBox 并在删除选中后给出选择删除提示function checkAll(){      var ckbD = document.getElementsByName(ckbDelete); // 模板列项的 htmlCheckBox ID     var checked = document.all.ckbAll.checked;     for(var

hqt的专栏 2322

DataGrid中CheckBox列需要双击才能选中问题的解决

在Silverlight开发中经常需要在DataGrid中添加复选列,于是会想到使用DataGridCheckBoxColumn列,可是在运行后发现CheckBox需要点击两次才可以选中,第一次点击只是选中DataGridCell,很显然会影响用户体验,想要规避这一问题很简单,就是使用DataGridTemplateColumn列,在数据模板中添加一个CheckBox,测试后发现只需点击一次即可选

蓝色范思哲的专栏 4967

[ASP.NET]在DataGrid列页眉中添加全选CheckBox

步骤:1.在DataGrid中添加模板列,设计视图中编辑该模板列,从工具箱中拖入一个CheckBox到到HeaderTemplate中,将CheckBox命名为chkAll,自动回发autopostback属性设为True;拖入一个CheckBox到到ItemTemplate。2.打开HTML视图找到该CheckBox,并添加选择事件oncheckedchanged        

ksy的笔记本 1464

GridView/DataGrid 模板列中使用自动回发的 CheckBox/DropDownList

要点:1. 注意到 .net 中控件事件委托统一原型 (object sender,  EventArgs e)第一个参数 sender,表示触发此事件控件2. ASP.NET  服务器控件基类 Control 中定义了属性 NamingContainer ,表示对服务器控件的命名容器的引用,此引用创建唯一的命名空间。在模板列中的控件就是表示包含此控件的模板列。注:也可以使用 BindingCon

山里娃的专栏 1081

JavaScript实现DataGrid中添加CheckBox列(全选与否)

(一).功能    1. JavaScript检索CheckBox并实现全选和全消功能         用C#等写的CheckBox需要回发到服务端执行,         而用JavaScript可以在直接客户端实现,效率高些(二).代码       1. DataGrid中的代码主要片段:                           //头模板代码        

★(ChengKing)【夜战鹰】【产品级性能调优与故障诊断分析】★ 1万+

根據datagrid模板列中的checkbox填入日期至textbox有解嗎?10/17

我有一个用datagrid做的页面,在模板列有如下2栏:checkbox和textbox当我勾选checkbox时自动将日期填入textbox,若不勾选则textbox会清空我的写法如下:function DoCal(){  var e = event.srcElement;  var row = e.parentNode.parentNode;  var txts = row.all.tags(

那一天 1384

用代码创建DataGrid的多链接及checkbox事件响应

本例用代码实现了创建DataGrid并响应了CheckBox事件,并实现了超链接列的多变量传送。 创建一个前台页面 CreateDataGrid.aspx: 在Form中添加一个PlcaeHolder,ID为"ph",Runat="Server" 后台页面 CreateDatagrid.aspx.cs publicclas...

dfdfadsf3443的博客 91

WPF DataGrid复选框CheckBox单击响应事件

目的:响应DataGrid的CheckBox单击事件。 DataGrid自带有CheckBox栏,但是得点击两次才能选中,第一次是选中行,第二次是选中CheckBox。 解决思路 自定义模板,单击即响应CheckBox_Click事件。 &lt;DataGridTemplateColumn Header="采样" Width="*"&gt; &lt;DataGrid...

Taosy 1万+

vue easy ui DataGrid CheckBox 全选事件

<DataGrid ref="dg" :data="locations" :pagination="true" :total="total" :pageSize="pageSize" ...

书写人生 1225

创建DataGrid并响应了CheckBox事件

本例用代码实现了创建DataGrid并响应了CheckBox事件,并实现了超链接列的多变量传送。创建一个前台页面CreateDataGrid.aspx:在Form中添加一个PlcaeHolder,ID为"ph",Runat="Server"后台页面CreateDatagrid.aspx.cs

Kesa_Kong的专栏 1019
上一篇: 利用js生成文本框的setfocus的问题
下一篇: Excell导SQL Server 某列包含混合数据 导致非数字串为null
晓梦庄子
博客等级 码龄19年 4粉丝 129原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓梦庄子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值