GridView Tab/Enter键插入新行
此段代码是从DevExpress官方回复文件中得到的。可以用来优化GridView的操作体验。
/// <summary>
/// GridView添加新行
/// </summary>
public sealed class GridNewRowHelper
{ private readonly GridView _View;
/// <summary>
/// 构造函数:按键为GridView添加新行(Tab/Enter)
/// </summary>
/// <param name="view">目标GridView</param>
public GridNewRowHelper(GridView view)
{
_View = view;
_View.HiddenEditor += _View_HiddenEditor;
view.GridControl.EditorKeyDown += GridControl_EditorKeyDown;
view.GridControl.KeyDown += new KeyEventHandler(GridControl_KeyDown);
} void _View_HiddenEditor(object sender, EventArgs e)
{
} void GridControl_KeyDown(object sender, KeyEventArgs e)
{
e.Handled = OnKeyDown(e.KeyCode, e.Modifiers);
} void GridControl_EditorKeyDown(object sender, KeyEventArgs e)
{
e.Handled = OnKeyDown(e.KeyCode, e.Modifiers);
}
private bool OnKeyDown(Keys keyCode, Keys modifiers)
{
if (modifiers == Keys.None && (keyCode == Keys.Enter || keyCode == Keys.Tab))
{
return CheckAddNewRow();
}
return false;
} private bool CheckAddNewRow()
{
if (_View.FocusedColumn.VisibleIndex == _View.VisibleColumns.Count - )
{
if (_View.IsNewItemRow(_View.FocusedRowHandle))
{
_View.PostEditor();
_View.UpdateCurrentRow();
}
if (_View.IsLastRow)
return AddNewRow();
}
return false;
} private bool AddNewRow()
{
_View.AddNewRow();
_View.FocusedColumn = _View.VisibleColumns[];
return true;
}
} 使用方法: GridNewRowHelper newRowView=new GridNewRowHelper (targetView);
GridView Tab/Enter键插入新行的更多相关文章
- SQL-表的操作(创建表,删除表,更改列,插入新行,更改行的值,删除表中数据)
一,操作表及列 1.创建表: CREATE TABLE test (ID int PRIMARY KEY IDENTITY,Name varchar(20) ) 2.删除表 DROP TABLE t ...
- insert into 的另一种添加插入新行方式
语法 1 插入一行 insert into table (field1,field2.....) select value1,value2........; 2 插入多行 insert into ta ...
- dataTable 表插入新行
DataRow dr = dt.NewRow();//定义新行 dr["sumPrice"] = sumPrice;//对应字段赋值 d ...
- FlexCel 插入公式和插入新行
//http://www.tmssoftware.biz/flexcel/doc/vcl/api/FlexCel.Core/TExcelFile/InsertAndCopyRange.html#tex ...
- C# 在Word表格中插入新行(表格含合并行)
public string CreateWordFile(string CheckedInfo) { string message = "" ...
- Excel表格中无法中间插入新行列! 提示:在当前工作表的最后一行或列中,存在非空单元格,解决方案
excel中新增行列时报错: 提示:在当前工作表的最后一行或列中,存在非空单元格,所以无法插入新行或新列.
- INSERT - 在表中创建新行
SYNOPSIS INSERT INTO table [ ( column [, ...] ) ] { DEFAULT VALUES | VALUES ( { expression | DEFAULT ...
- 【新特性速递】单元格导航(上下左右键,TAB键和ENTER键)
上下左右按键 其实单元格导航(上下左右按键,需要启用表格的ShowSelectedCell属性)一直都存在,只不过之前的版本(v5.5.0)有一些小的BUG. BUG1 比如锁定列存在时,上下左右键只 ...
- 将插入的新行放入dataGridView的第一行
将插入的新行放入dataGridView的第一行 习惯这样用的: dataGridView1.Rows.Add(dataRow);改成:dataGridView1.Rows.Insert(0,data ...
随机推荐
- 苹果公司的新的编程语言 Swift 高级语言(十五)--协议
协议定义了适合某个特定任务或功能须要的方法.属性和其他需求的一个蓝图.协议本身不提供这些需求的实现,它仅仅是描写叙述了一个任务或功能实现的蓝图. 协议与java 语言中的接口定义类似,都是描写叙述了一 ...
- SD卡FAT32获得高速的文件格式(图文介绍)
说明: MBR :Master Boot Record ( 主引导记录) DBR :DOS Boot Record ( 引导扇区) FAT :File Allocation Table ( 文件分配表 ...
- proxool的配置
//依赖的包:commons-logging-api-1.1.jar,commons-logging-1.0.4.jar,proxool-0.9.1.jar,proxool-cglib.jar,cgl ...
- hibernate配置jndi
tomcat里的conf->context.xml <Resource name="mysql" auth="Container" type ...
- DDD 应对具体业务场景,Domain Model 重新设计
DDD 应对具体业务场景,Domain Model 重新设计 写在前面 上联:no zuo no die why you try 下联:no try no high give me five 横批: ...
- 数据结构栈的java实现
近来复习数据结构,自己动手实现了栈.栈是一种限制插入和删除只能在一个位置上的表.最基本的操作是进栈和出栈,因此,又被叫作“先进后出”表. 实现方式是这样的:首先定义了一个接口,然后通过这个接口实现了线 ...
- 迁移Model元数据设置项
.NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序) 阅读目录: 1.需求背景介绍(Model元数据设置项应该与View绑定而非ViewModel) 1 ...
- D8
=-=昨天被老师拉去吃点心了就没有发题解...忧伤..昨天的T2貌似都没有调完嗯 今天脑洞是大啊.. T1模拟写挂..呵呵我一面 T2数学题..刚开始只会求素数表的那种方法暴力..不过后面他们都知道一 ...
- 有关sort函数的用法
最近碰到这个sort函数,网上查了一些资料,感觉还是直接扔给我代码比较好理解些 要是像我一样的童鞋,建议看这里:http://www.cplusplus.me/265.html 个人认为很好理解..这 ...
- Make Things Move -- Javascript html5版(三)三角函数形式的动画
角度制和弧度制 生活中通常是用角度度来理解的,代码里都是用弧度制来计算. 角度转弧度:DEG_TO_RAD = Math.PI / 180 弧度装角度:RAD_TO_DEG = 180 / Math. ...