Add and Remove Rows

news2025/2/7 22:01:01

New Item Row

数据网格可以显示一个空行,使用户可以添加新记录。该行由显示在相应行指示符单元格内的星号(*)标识。若要取消添加新行,用户可以按Esc键。
在这里插入图片描述

相关API

  • GridOptionsView.NewItemRowPosition — 允许您启用一个新的项目行,并选择它应该定位到视图的上边缘还是下边缘。
  • GridControl.NewItemRowHandle — 一个常量,用于指定“新建项目行”的行句柄。

Initialize New Rows

ColumnView.InitNewRow 每当用户添加新记录时,InitNewRow事件就会激发。处理此事件并调用相应的SetValue和GetValue方法,以方便用户输入并使用默认值自动填充新行单元格。

在以自定义方式初始化新添加的行的演示模块中,每一个新行都会自动接收“记录日期”、“名称”和“备注”列下单元格的初始值。

 gridView.OptionsView.NewItemRowPosition = NewItemRowPosition.Top;

 // Handle the InitNewRow event to initialize newly added rows. To initialize row cells, use the SetRowCellValue method.
 gridView.InitNewRow += (s, e) => {
     GridView view = s as GridView;
     // Set the new row cell value.
     view.SetRowCellValue(e.RowHandle, view.Columns["RecordDate"], DateTime.Today);
     view.SetRowCellValue(e.RowHandle, view.Columns["Name"], "CustomName");
     // Obtain the new row cell value.
     int newRowID = Convert.ToInt32(view.GetRowCellValue(e.RowHandle, "ID"));
     view.SetRowCellValue(e.RowHandle, view.Columns["Notes"], string.Format("Row ID: {0}",newRowID));
 };

Data Navigator

数据导航器是一个嵌入式工具栏,允许用户浏览数据网格记录和添加/删除行。
在这里插入图片描述

相关API

  • GridControl.UseEmbeddedNavigator—指定数据导航器是否可用。
  • GridControl.EmbeddedNavigator。按钮–显示在数据导航器中的按钮。

Control Navigator

数据导航器是直接显示在数据网格中的ControlNavigator对象。如果需要,您可以创建一个独立的ControlNavigator,并将其放置在网格外的任何位置。使用导航器的
ControlNavigator.NavigatableControl属性,将导航器绑定到数据网格。控件导航器还可以浏览树状列表和垂直网格控件的记录。
在这里插入图片描述

Add and Remove Rows in Code

修改基础数据源

如果数据源允许用户添加和删除记录,则可以使用数据源API修改网格行。如果数据源未实现IBindingList接口,则不会向数据网格发送添加/删除通知。在这种情况下,请调用 GridControl.RefreshDataSource方法(更新主网格视图)或BaseView.RefreshData方法(用于更新此特定视图)以手动更新数据网格GridOptionsNavigation.AutoFocusNewRow属性允许数据网格自动聚焦添加到数据源的新记录。

下面的代码将新记录添加到BindingList<T>对象中,该对象用作数据网格的数据源。由于此数据源支持更新通知,因此不需要手动刷新数据网格。

private void barButtonItem1_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) {
    (gridControl1.DataSource as BindingList<SalesPerson>).AddNew();
}

ColumnView.AddNewRow

将空行添加到数据网格中。如果启用了“新建项目行”,则此方法会将焦点移到此元素。否则,新记录将临时放置在现有记录的下方。用户输入单元格值并接受该行后,新行将根据当前数据组的筛选器、组和排序设置移动到其最终位置。若要手动接受新行,请调用ColumnView。来自代码的UpdateCurrentRow方法。以下代码显示如何将新行添加到数据组中。假设网格视图中的数据是根据一列或多列进行分组的。该行被添加到与当前关注的行相同的组中。

待续。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1850927.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

快速又不失灵活性的JeecgBoot框架

简介JeecgBoot 开源界 "小普元" 超越传统商业平台。引领低代码开发模式 (OnlineCoding-> 代码生成器 -> 手工 MERGE)&#xff0c;低代码开发同时又支持灵活编码&#xff0c; 可以帮助解决 Java 项目 70% 的重复工作&#xff0c;让开发更多关注业务。既能快速提…

如何自制一个Spring Boot Starter并推送到远端公服

在现代Java开发中&#xff0c;Spring Boot无疑是一个强大且便捷的框架&#xff0c;它通过提供大量的Starter来简化依赖管理和项目配置。有时&#xff0c;我们可能需要为特定功能或团队定制Starter。本文将指导你如何创建自己的Spring Boot Starter并将其推送到远程公共服务器上…

WRONGPASS invalid username-password pair or user is disabled

连接redis客户端的时候报错&#xff1a;WRONGPASS invalid username-password pair or user is disabled 当前redis版本为7.2.4 一、问题分析 默认情况下&#xff0c;Redis 7.0 使用默认用户名 default 和空密码进行身份验证。如果未设置 requirepass&#xff0c;则默认用户名…

C++之提高篇

1.标准输入输出流 cin与cout的使用&#xff0c;就不多说了&#xff0c;说一个有关保留小数位数的操作&#xff0c;使用ostream对象的precision&#xff08;&#xff09;方法&#xff0c;表达的意思是数字总共有几位&#xff0c;注意&#xff0c;此时是包括整数部分的&#xff…

Charles抓取安卓应用https包演示

一、准备软件 夜神安卓模拟器 (yeshen.com) Charles (charlesproxy.com) 二、配置抓包 2.1 Charles安装PC根证书 记住这里的ip端口 三、安卓模拟器配置 3.1 配置安卓客户端网络代理 填写上文的ip端口&#xff0c;保存 3.2 安装根证书 3.2.1 导出根证书 linux主机执行 op…

LeetCode 算法:随机链表的复制 c++

原题链接&#x1f517;&#xff1a;随机链表的复制 复杂度&#xff1a;中等⭐️⭐️ 题目 给你一个长度为 n 的链表&#xff0c;每个节点包含一个额外增加的随机指针 random &#xff0c;该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由…

[数据集][图像分类]瑜伽动作分类数据集1238张5类别

数据集类型&#xff1a;图像分类用&#xff0c;不可用于目标检测无标注文件 数据集格式&#xff1a;仅仅包含jpg图片&#xff0c;每个类别文件夹下面存放着对应图片 图片数量(jpg文件个数)&#xff1a;1238 分类类别数&#xff1a;5 类别名称:["downdog","godde…

基于YOLOv5的PCB板缺陷检测系统的设计与实现

简介 随着电子设备的广泛应用&#xff0c;PCB&#xff08;印刷电路板&#xff09;作为其核心部件&#xff0c;其质量和可靠性至关重要。然而&#xff0c;PCB生产过程中常常会出现各种缺陷&#xff0c;如鼠咬伤、开路、短路、杂散、伪铜等。这些缺陷可能导致设备故障&#xff0…

ASP.NET MVC-简单例子

环境&#xff1a; win10&#xff0c;.NET Framework 4.6.1 参考&#xff1a; ASP.NET MVC 简介 | 菜鸟教程 https://www.runoob.com/aspnet/mvc-intro.html 准备 查看 net framework 版本: cmd-> C:\Windows\Microsoft.NET\Framework\v4.0.30319>MSBuild /version Mic…

C语言笔记第16篇:编译和链接

1、翻译环境和运行环境 在ANSI C的任何一种实现中&#xff0c;存在两个不同的环境。 第1种是翻译环境&#xff0c;在这个环境中源代码被转换为可执行机器指令&#xff08;二进制指令&#xff09; 第2种是执行环境&#xff0c;它用于实际执行代码 2、翻译环境 那翻译环境是怎…

动态ARP

定义 动态ARP表项由ARP协议通过ARP报文自动生成和维护&#xff0c;可以被老化&#xff0c;可以被新的ARP报文更新&#xff0c;可以被静态ARP表项覆盖。 动态ARP适用于拓扑结构复杂、通信实时性要求高的网络。 ARP地址解析过程 动态ARP通过广播ARP请求和单播ARP应答这两个过…

软件测试笔记

一、介绍 软件测试是为了尽可能多地发现软件系统中的错误而不是证明软件的正确性。 1、软件缺陷是什么&#xff1f; 软件在使用过程中存在的任何问题都叫软件的缺陷&#xff0c;简称bug。 缺陷的判定标准 软件未实现需求说明书中明确要求的功能——少功能 软件出现了需求说…

经典游戏案例:愤怒的小鸟

学习目标&#xff1a;愤怒的小鸟核心玩法 游戏画面 项目结构目录 部分核心代码 using System.Collections; using System.Collections.Generic; using birds; using utils; using UnityEngine;public class GameManager : MonoBehaviour {public static GameManager sInstanc…

【免费】中国电子学会2024年03月份青少年软件编程Python等级考试试卷一级真题(含答案)

2024-03 Python一级真题 分数&#xff1a;100 题数&#xff1a;37 测试时长&#xff1a;60min 一、单选题(共25题&#xff0c;共50分) 1. 下列哪个命令&#xff0c;可以将2024转换成2024 呢&#xff1f;&#xff08; A&#xff09;(2分) A.str(2024) B.int(2024) C.fl…

Flutter Android 调试桥 (adb)

客户端&#xff1a;用于发送命令。客户端在开发计算机上运行。您可以通过发出 adb 命令从命令行终端调用客户端。 守护程序adbd&#xff1a;用于在设备上运行命令。守护程序在每个设备上作为后台进程运行。 服务器&#xff1a;用于管理客户端与守护程序之间的通信。服务器在开…

fastapi+vue3+primeflex前后端分离开发项目环境搭建

创建后端项目 创建文件夹&#xff1a; mkdir backend创建python虚拟环境&#xff1a; python -m venv venv使用Pycharm打开文件夹&#xff0c;然后配置python解释器为venv虚拟环境。 安装fastapi&#xff1a; pip install "fastapi[all]"编写第一个程序&#xf…

牛顿迭代法(求解整数的近似平方根)

情景再现 面试官&#xff1a;给你一个整数怎样最快求解他的近似平方根&#xff1f; 小白&#xff1a;可以用while循环呀&#xff01; 面试官&#xff1a;有没有更好的方法&#xff1f; 小白&#xff1a;可以从这个数的左右两边开始迭代。 面试官&#xff1a;除了这个呢&#xf…

学会python——统计文件中文字出现次数(python实例九)

目录 1、认识Python 2、环境与工具 2.1 python环境 2.2 Visual Studio Code编译 3、统计文本文件中单词频率 3.1 代码构思 3.2 代码示例 3.3 运行结果 4、总结 1、认识Python Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计…

使用 Python 进行测试(7)...until you make it

总结 我很懒&#xff0c;我想用最少的行动实现目标&#xff0c;例如生成测试数据。我们可以&#xff1a; 使用随机种子保证数据的一致性。 >>> random.seed(769876987698698) >>> [random.randint(0, 10) for _ in range(10)] [10, 9, 1, 9, 10, 6, 5, 10…