DataGridView中EnditCommit()调用之后,单元格的内容被全选了,每次输入都要鼠标点击定位到最后才能继续输入

因为某些需求,DataGridView在输入一次内容,就要调用ECommitEdit(DataGridViewDataErrorContexts.Commit)来将内容提交,但是这样做之后,控件就会当你输入的内容都完成了,所以将内容全选(内部的原理我还没时间去了解,所以不太清楚,希望知道的人可以告诉我)

解决方案:

为了让用户可以正常输入一串字符,在每次调用CommitEdit()方法之后,都获取控件当前单元格对应控件类型TextBox currentTextBox,调用currentTextBox的select()方法将光标定位到文本最后一个字符处,代码如下

base.dgvDetail.CommitEdit(DataGridViewDataErrorContexts.Commit);
                TextBox currentTextBox = base.dgvDetail.EditingControl as TextBox;
                if (currentTextBox!=null&&currentTextBox.Text != null)
                    currentTextBox.Select(currentTextBox.Text.Length, 0);//防止CommitEidt后文本被全选

注意还要考虑调用CommitEdit()方法时,绑定的控件不是TextBox的情况

时间: 2024-10-12 20:21:55

DataGridView中EnditCommit()调用之后,单元格的内容被全选了,每次输入都要鼠标点击定位到最后才能继续输入的相关文章

请教 JTable 里的单元格如何使得双击进入单元格后,单元格的内容处于全选中状态

http://bbs.csdn.net/topics/390195204 ———————————————————————————————————————— java 达人, 最近在开发一个 java 模块,用到了 JTable.现在对 JTable 里的单元格的操作中,在双击进入单元格后,单元格的内容不是全选中状态. 请问有啥办法使得双击进入单元格后,单元格的内容处于全选中状态?如下面的图片所示 十分感谢! 下面是已经写好的代码: Java code? 1 2 3 4 5 6 7 8 9 10

DataGridView获取或者设置当前单元格的内容

当前单元格指的是DataGridView焦点所在的单元格,它可以通过DataGridView对象的CurrentCell属性取得.如果当前单元格不存在的时候,返回null. 取得当前单元格的内容: object obj = this.dgv_PropDemo.CurrentCell.Value; 注:返回值是object类型的. 取得当前单元格的列Index: int columnIndex = this.dgv_PropDemo.CurrentCell.ColumnIndex; 取得当前单元格

EasyUI中修改DataGrid的单元格显示内容

自定义的单元格数据显示,以实现如下效果为例 使用列属性的formatter属性即可修改,示例如下 $("#roleList").datagrid({     url : "${pageContext.request.contextPath}/role/list",     columns : [[{         field : "id",         checkbox : true     }, {         field : &qu

table 中,如何使得单元格的内容不换行,单元格不被撑开

有时候我们需要列不换行,而且根据列自动适应那么我们可以用一下代码来实现. .dataTable { width: 100%; border: none; border-collapse: collapse; border-spacing: 0px !important; display: table; table-layout:fixed; } .dataTable td(word-break: break-all; word-wrap:break-word;)

easyui datagrid 单元格编辑 自动聚焦 、全选

$.extend($.fn.datagrid.methods, { editCell: function (jq, param) { return jq.each(function () { var opts = $(this).datagrid('options'); var fields = $(this).datagrid('getColumnFields', true).concat($(this).datagrid('getColumnFields')); for (var i = 0

窗体DataGridView控件中按回车键时,单元格向下移动,如何能改成向右移动

方法一:protected override void OnKeyUp(System.Windows.Forms.KeyEventArgs e) { base.OnKeyUp(e); if (e.KeyCode == System.Windows.Forms.Keys.Enter) { e.Handled = true; System.Windows.Forms.SendKeys.Send("{TAB}"); } } protected override bool ProcessCmd

c#DataGridView数据绑定示例——格式化单元格的内容

c#DataGridView数据绑定示例 格式化单元格的内容 在使用DataGridView显示数据库中的数据时,我们需要对某列的数据显示格式进行格式化. 这里使用实时构建的数据,如下图: 在显示时对第三列的数据进行格式化,如下图: 测试数据构建及数据绑定: private void Form1_Load(object sender, EventArgs e) { DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("Id&

读取Excel文件中的单元格的内容和颜色

读取Excel文件中的单元格的内容和颜色 先创建一个Excel文件,在A1和A2中随意输入内容,设置A1的字体颜色为红色,A2的背景为黄色.需要 using Excel = Microsoft.Office.Interop.Excel;或者using Microsoft.Excel; string file = @"E:\test.xls"; //测试文件 Excel.Application excel = null; Excel.Workbook wkb = null; try {

获取table表格指定列的所有单元格的内容

获取table表格指定列的所有单元格的内容:本章节介绍一下如何获取表格指定列的所有单元格的内容,这可能在一些应用或者说扩展应用中会需要.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <titl