用datagrid 的 Footer实现 添加修改和删除功能

在DataGrid中为Footer添加自定义内容 首先:创建为Page_Load事件编写数据绑定的代码: Sub Page_Load(Sender As Object, E As EventArgs) Dim myConnectionString As String = "Data Source=.;Initial Catalog=NorthWind;User Id=sa;Password=;" D 阅读详情

aspx页面中的DataGrid

<asp:DataGrid ID="dg" runat="server"  DataKeyField="Id" AutoGenerateColumns="False" OnItemDataBound="dg_ItemDataBound"  OnItemCommand="dg_ItemCommand" ShowHeader="False" Width="100%" >
     <Columns>
        <asp:TemplateColumn HeaderText="序号">
            <ItemStyle  Width="10%" HorizontalAlign="Center" Wrap="False" />
            <ItemTemplate>
                <asp:Label ID="lblIndex" runat="server">              
          </asp:Label>
            </ItemTemplate>  
            <EditItemTemplate>
                <asp:Label ID="lblIndex2" runat="server"></asp:Label>    
            </EditItemTemplate>
            <FooterStyle Width="10%" HorizontalAlign="Center" Wrap="False" />
            <FooterTemplate>
                <asp:Label ID="lblIndex" Text="*" ForeColor="red" runat="server">              
          </asp:Label>
            </FooterTemplate>
        </asp:TemplateColumn>          
        <asp:TemplateColumn HeaderText="Name">
            <ItemStyle  Width="50%" HorizontalAlign="Left" Wrap="False" />
            <ItemTemplate>
                 <asp:HyperLink ID="hlName" runat="server">              
             </asp:HyperLink>
            </ItemTemplate>
            <EditItemTemplate>
                <asp:TextBox ID="tbName" Width="100%" runat="server"></asp:TextBox>
            </EditItemTemplate>
            <FooterStyle  Width="50%" HorizontalAlign="Center" />
            <FooterTemplate>
                <asp:TextBox ID="Name" Width="100%" runat="server"></asp:TextBox>
            </FooterTemplate>
        </asp:TemplateColumn>
        <asp:TemplateColumn FooterText="操作">
            <ItemStyle Width="20%" HorizontalAlign="Center" />
            <ItemTemplate>                                                  
                <asp:LinkButton ID="lbEdit" CommandName="Edit" runat="server" Text="编辑"></asp:LinkButton>
                <asp:LinkButton ID="lbUpdate" CommandName="Update" runat="server" Text="更新"></asp:LinkButton>
                <asp:LinkButton ID="lbCancel" CommandName="Cancel" runat="server" Text="取消"></asp:LinkButton>                                                   
            </ItemTemplate>
            <FooterStyle  Width="20%" HorizontalAlign="Center" />
            <FooterTemplate>
                <asp:LinkButton ID="Cancel" Text="取消" CommandName="Cancel" Width="100%" runat="server"></asp:LinkButton>
            </FooterTemplate>
        </asp:TemplateColumn>                                           
        <asp:TemplateColumn>
            <ItemStyle Width="20%" HorizontalAlign="Center" />
            <ItemTemplate>                                                  
                <asp:LinkButton ID="lbDel" CommandName="Delete" runat="server" Text="删除"></asp:LinkButton>
            </ItemTemplate>
            <FooterStyle  Width="20%" HorizontalAlign="Center" />
            <FooterTemplate>
                <asp:LinkButton ID="Save" Text="添加" CommandName="Add" Width="100%" runat="server"></asp:LinkButton>
            </FooterTemplate>
        </asp:TemplateColumn>
    </Columns>
</asp:DataGrid>

 

cs中的ItemDataBound和ItemCommand处理函数    #region 执行ItemDataBound事件

    /// <summary>
    /// ItemDataBound事件处理函数
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void dg_ItemDataBound(object sender, DataGridItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.EditItem)
        {
            DataRowView drv = e.Item.DataItem as DataRowView;
            if (e.Item.ItemType == ListItemType.EditItem)   //编辑模式
            {
                (e.Item.FindControl("lblIndex2") as Label).Text = i.ToString("00");
                (e.Item.FindControl("lblIndex2") as Label).ForeColor = System.Drawing.Color.Red;                  
                (e.Item.FindControl("lbEdit") as LinkButton).Visible = false;
                (e.Item.FindControl("tbName") as TextBox).Text = drv["Name"].ToString();
            }
            else
            {
                (e.Item.FindControl("lbUpdate") as LinkButton).Visible = false;
                (e.Item.FindControl("lbCancel") as LinkButton).Visible = false;
                (e.Item.FindControl("lblIndex") as Label).Text = i.ToString("00");
                (e.Item.FindControl("lbDel") as LinkButton).Attributes.Add("onclick", "return confirm('确实要删除该条记录吗?')");
                (e.Item.FindControl("hlName") as HyperLink).Text = drv["Name"].ToString();
                (e.Item.FindControl("hlName") as HyperLink).NavigateUrl = "AreaSmallList.aspx?Area="+drv["Name"].ToString()+"&Parent_ID="+dg.DataKeys[e.Item.ItemIndex].ToString();
            }               
        }
    }
    #endregion


    /// <summary>
    /// ItemCommand事件处理函数
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    ///
    protected void dg_ItemCommand(object sender, DataGridCommandEventArgs e)
    {
        string commandName = e.CommandName;
        //根据CommandName 执行不同的操作
        switch (commandName)
        {
            case "Add":
                AddData(e);
                break;
            case "Edit":
                dg.EditItemIndex = e.Item.ItemIndex;
                break;
            case "Update":
                UpdateData(e);
                dg.EditItemIndex = -1;
                break;
            case "Cancel":
                dg.EditItemIndex = -1;
                break;
            case "Delete":
                DeleteData(e);
                break;
        }
        this.dg.ShowFooter = false;      
    }

    #region 相关Command处理函数


    /// <summary>
    /// 添加数据
    /// </summary>
    /// <param name="e"></param>
    protected void AddData(DataGridCommandEventArgs e)
    {
        //相关处理
    }

    /// <summary>
    /// 删除指定记录行数据
    /// </summary>
    /// <param name="e"></param>
    private void DeleteData(DataGridCommandEventArgs e)
    {
        //相关处理
    }

    /// <summary>
    /// 更新数据
    /// </summary>
    /// <param name="e"></param>
    private void UpdateData(DataGridCommandEventArgs e)
    {
        //相关处理
    }

    #endregion

ASP.NET中DataGrid添加超链接、自定义显示示、页脚汇 立即下载

相关推荐

BERT + BiLSTM-CRF 处理流程

BERT是一个基于 Transformer 的预训练语言模型。与传统的语言模型不同,BERT 是双向的,即它同时利用上下文信息进行词表示学习。BERT 在大规模语料库上进行预训练,可以捕捉到深层次的语言知识和上下文关系,生成非常丰富的词向量表示。在序列标注任务中,BERT 被用作输入文本的编码器,将每个词映射为上下文相关的词嵌入(embeddings)。

AI Agent 首席体验官 2258

datagrid实现footer的2种方式

showFooter: true,//datagrid里打开。方式2:前端实现(实际业务可能要修改后实时显示)方式1:后端返回(c#)

weixin_45219973的博客 924

Cadence OrCAD常见引脚错误排查指南:从原理图到封装的完整解决方案

本文详细解析Cadence OrCAD设计中常见的引脚错误问题,提供从原理图到封装的系统化解决方案。涵盖错误诊断、元件库修复、封装管理及自动化处理技巧,帮助工程师高效解决ORCAP-36022等典型错误,确保设计流程顺畅。

weixin_29294975的博客 255

EasyUI DataGrid 添加 Footer

做后台管理界面时,EasyUI 的 DataGrid 经常会被用到,有时候一些总的统计数据不合适放在数据表格里,需要单独显示,这时候就可以放在Footer中显示而不必另外布局。 该怎么给 DataGrid 添加 Footer,Document 里面说的不是很详细,Demo 里面有这个例子,看 datagrid_data2.json 数据格式就明白了。 {"total":28,"rows":[ ...

weixin_30919235的博客 748

Ubuntu 22.04 LTS下Xenomai 3.3实时内核配置全攻略(附常见错误排查)

本文详细介绍了在Ubuntu 22.04 LTS系统上配置Xenomai 3.3实时内核的完整流程,包括环境准备、内核补丁应用、编译优化及常见错误排查。特别针对工业自动化和机器人控制场景,提供了性能优化建议和故障解决方案,帮助开发者实现毫秒级精度的实时任务处理。

weixin_29268385的博客 464

SDA 还是 SDI:SAP HANA 数据虚拟化与数据集成的取舍、组合与实战

结论先放在前面:SDA 面向数据虚拟化与联邦查询,强调不落地、不复制、按需实时访问;SDI 面向数据集成与复制,强调抽取、转换、装载与近实时增量同步。两者共享 Remote Source 与 Adapter 的理念,但侧重点与运行时组件明显不同。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 585

Datagrid中footer的使用(可用于显示合计)

datagrid属性showFooter设置trueshowFooter : true,{"total":5,"rows":[{"productid":"FI-SW-01","unitcost":10.00,"status":"P","listprice":36.50,"attr1":"Large",&quot

5805

捷联惯导,其实没有你想象的那么复杂!(附:惯导嵌入式应用中需要的一些C代码)

摘要:捷联惯导系统将惯性测量单元固连于运动载体,通过核心算法实现导航解算。系统首先进行传感器误差补偿和初始对准,然后利用陀螺和加速度计数据,通过姿态更新算法(如四元数法)计算载体相对于地理系的姿态。加速度数据经比力方程转换后积分得到速度和位置,过程中需补偿圆锥误差和划船效应。捷联惯导通过数字平台替代物理平台,实现了载体坐标系与导航坐标系的实时转换,是当前惯性导航系统的主流方案。

victoryqian528的博客 269

datagrid 当前页面统计合计等在Footer页脚。

如下是效果图:三行的平均值,合计等计算 $.extend($.fn.datagrid.methods, {           //extend 用来新增datagrid 的方法,名字为statistics     statistics: function (jq) {      debugger;         var opt=$(jq).datagrid('opt

aq23es的博客 5775

100天精通Python(可视化篇)——第98天:Pyecharts绘制多种炫酷日历图参数说明+代码实战

一、日历图介绍 二、基础配置 1. 配置项类 2. 添加函数 3. 日期标签配置 4. 坐标系配置 三、日历图实战 1. 基础日历图 2. 日历热图

努力让自己发光,对的人才能迎着光而来 2万+

爬虫面试:关于爬虫破解验证码的13个经典面试题

​解释:验证码是一种用于区分人类用户和自动化程序(如爬虫)的技术,通常通过显示图形、文字或音频等方式,要求用户完成特定任务(如识别扭曲的字母、点击特定区域等)。​作用:防止恶意爬虫滥用网站资源、进行批量注册、登录破解等行为,保护网站的安全性和数据的完整性。

数据知道的博客 1万+

列表标签代码解析

---恢复内容开始--- 1.年龄的属性:<t:dgCol title="年龄" extend="{style:'width:50px'}" formatterjs="formatAgeFun" style="query="true" width="120"></t:dgCol> 对应的js函数是: function formatAgeFun(age,r...

weixin_30265171的博客 415

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

分享:DataGrid Footer行清空按钮

DataGrid一般是用于数据的显示、删除和修改。近来广泛使用的方法是,在Footer行实现“添加纪录”和“搜索”的功能。具体做法是:在Footer行,对应于Edit/Cancel/Update/Delete按钮的列加入Insert/Search两个button,CommandName分别设为“Insert”和“Search”;其他列,放入类似Edit Template的控件。点击Insert按钮

athos 1565

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

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

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

创建完全可编辑的 DataGrid

在论坛中我看到过许多相同或相似的问题:我怎样在我的DataGrid的每一行中放置检查框、文本框等等?怎样更新它们的值?答案相当简单,在这篇文章中,我将向你展示如何完成它。 我们都知道,DataGrid是一个功能非常强大的工具。根据我的经验,在90%以上的时间中, DataGrid 都被用来显示数据,并可能一次编辑一行数据。 而某些时候,可能需要一次编辑多行,甚至是所有数据。一个实际的例子就是在网上...

技术代码资料库 106

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

easyui —— footer

前言: 使用easyui的datagrid,在最后一行加上“总计”字样,效果如下: 过程: ... &lt;table id="dg" title="xx管理" fitColumns="true" pagination="true" rownumbers="true" nowrap="true" fit="true" toolb

weixin_34415923的博客 655

从 GridView 控件的脚注中添加一个新记录52

简介 正如我们在数据插入、更新和删除概述教程中所讨论的那样 ,GridView 、DetailsView 和 FormView Web 控件都包含内置的数据修改功能。当使用声明数据源控件时,可以方便迅速地对这三个 Web 控件进行配置使其能修改数据,并且在某些情况下无需编写一行代码。不幸的是,只有 DetailsView 控件和 FormView 控件提供了内置的插入、编辑和删除功能,而 G...

weixin_30693683的博客 232

DataGridView增加汇总行

.net DataGridView不支持汇总行,使用起来多有不便,本想重写此控件,以前做Web项目时曾用Javascript写过与WinForm中的DataGridView类似的控件,但分析微软的代码后感觉重写非常的烦,所以采用改造原控件的方式,重写OnLayout函数,当布局完毕,通过反射修改网络区的大小,在底部留出汇总条的位置,将汇总条嵌在其中,这样网格内容与汇总条内容不会相互影响,同时在涉及

nauja的博客 1520

获取DataGrid的Footer中的控件

今天又整理出一篇footer的文章。很多情况下由于需要都会在footer中放入一些控件,但是最后在获得这些控件引用的时候就会遇到点小麻烦,由于footer,header,pager都不在DataGrid.Items属性中,该属性返回的集合只包含数据绑定生成的item,所以必须用其他方法来做。下面是我从csdn和其他地方总结而来的几种方法:1.在IteamCreated或者ItemDataBound

1407

JQuery DataGrid 中文文档

数据表格 继承$.fn.panel.defaults,使用$.fn.datagrid.defaults重载默认值。 依赖关系 控制面板缩放链接按钮分页 使用方法 table id="tt">table>   $('#tt').datagrid({       url:'datagrid_data.js

LEE_ZCF 5032
上一篇: C#导出文件函数
下一篇: 总结一下最近一段时间导出数据到Excel的几种方法
jetxia
博客等级 码龄23年 28粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值