DevExpress控件 GridControl 单元格编辑 回车
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using CYSoft.UI.Common;
using CYSoft.Common;
using CYSoft.TS.EntityLib;
using CYSoft.IC.Common.A0;
//Dev 引用
using DevExpress.XtraEditors;
using DevExpress.XtraEditors.Repository; namespace CYSoft.TS.UI.BookInfo
{
public partial class FrmCellEdit : TS.UI.Common.FrmEditBase
{
//接口
public IC.BookInfo bb = null;
public FrmCellEdit()
{
InitializeComponent(); bb = new IC.BookInfo(); InitCtl(); } /// <summary>
/// 初始化
/// </summary>
public void InitCtl() {
//克隆表结构 绑定到grid
DataTable dt = b.BookGetByCode("").Tables[0].Clone();
grid.DataSource = dt; //自定义方法 初始化 gv
CYSoft.UI.Common.Function.InitGrid(this.gv,
new string[] {"编码","名称" },
new string[] {"BookNo","BookName" },
new int[] {100,100 }); //编辑列 设置
RepositoryItemTextEdit rite = new RepositoryItemTextEdit();
//keydown事件
rite.KeyDown+=new KeyEventHandler(rite_KeyDown);
gv.Columns["BookNo"].ColumnEdit = rite; gv.CellValueChanged += new DevExpress.XtraGrid.Views.Base.CellValueChangedEventHandler(gv_CellValueChanged);
gv.InitNewRow += new DevExpress.XtraGrid.Views.Grid.InitNewRowEventHandler(gv_InitNewRow);
} /// <summary>
/// 单元格回车
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void rite_KeyDown(object sender, KeyEventArgs e) {
//用户点击 回车
if (e.KeyCode == Keys.Enter) {
TextEdit te = sender as TextEdit;
//值为空时返回
if (te == null || string.IsNullOrEmpty(te.Text.Trim())) {
return;
} //自定义方法,根据用户输入内容从数据库获取数据
DataSet ds = bb.BookGetByCode(te.Text.Trim());
//有数据记录
if (ds.Tables[0].Rows.Count > 0) {
//初始化DataRow 值为 第一行数据
DataRow dtBook = ds.Tables[0].Rows[0];
//初始化DataRow 值为
DataRow dr = gv.GetDataRow(gv.FocusedRowHandle);
foreach (DataColumn dc in dr.Table.Columns) {
dr[dc.ColumnName] = dtBook[dc.ColumnName].ToString();
}
//终止行编辑
dr.EndEdit();
//调用方法
SetCellEdit(gv.FocusedRowHandle);
//自定义类 对gv的一些设置
CYSoft.TS.UI.Common.TSFunc.SetBestFitColumns(gv);
} } } /// <summary>
/// 单元格处理
/// </summary>
/// <param name="row"></param>
private void SetCellEdit(int row)
{
Application.DoEvents();
try
{
gv.BeginInit();
grid.Focus();
gv.Focus();
gv.SelectCell(row, gv.Columns["BookNo"]);
gv.FocusedColumn = gv.Columns["BookNo"];
gv.ShowEditor();
}
finally
{
gv.EndInit();
}
} /// <summary>
/// 单元格 焦点离开 触发该事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void gv_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
{
if (e.Column.FieldName == "BookNo")
{
if (e.Value == null)
return;
}
} void gv_InitNewRow(object sender, DevExpress.XtraGrid.Views.Grid.InitNewRowEventArgs e)
{
SetCellEdit(e.RowHandle);
} /// <summary>
/// 增加新行
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnNewLine_Click(object sender, EventArgs e)
{
DataTable dt = grid.DataSource as DataTable;
if (dt == null)
return; gv.AddNewRow();
}
}
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
DevExpress控件 GridControl 单元格编辑 回车的更多相关文章
- MFC List Control 控件添加单元格编辑,实现可编辑重写
在实现随机生成四则运算的个人项目中,目前已经完成基本功能,想要把程序变成一个Windows界面的程序.原本以为学习过MFC,应该很快就能完成.但是由于以前用的都是VC6.0,这次用了VS2010,稍微 ...
- DevExpress控件-GridControl根据条件改变单元格(Dev GridControl 单元格着色)
DevExpress控件-GridControl根据条件改变单元格颜色,如下图: 解决办法:可以参考:http://www.cnblogs.com/zeroone/p/4311191.html 第一步 ...
- Dev控件GridView单元格绑定控件
Dev控件GridView单元格绑定控件 //文本按钮 RepositoryItemButtonEdit btnFields = new RepositoryItemButtonEdit();//创建 ...
- GridControl单元格编辑验证的方法
本文实例演示了DevExpress实现GridControl单元格编辑验证的方法,比较实用的功能,具体方法如下: 主要功能代码如下: /// <summary> /// 自定义单元格验证 ...
- DevExpress控件GridControl中的布局详解 【转】
DevExpress控件GridControl中的布局详解 [转] 2012-10-24 13:27:28| 分类: devexpress | 标签:devexpress |举报|字号 订阅 ...
- DevExpress控件-GridControl根据条件改变单元格/行颜色--转载
DevExpress控件-数据控件GridControl,有时我们需要根据特定条件改变符合条件的行或者单元格颜色达到突出显示目的,现在动起鼠标跟我一起操作吧,对的,要达到这个目的您甚至都不用动键盘. ...
- DevExpress控件-GridControl根据条件改变单元格/行颜色(Dev GridControl 单元格着色) z
DevExpress控件-数据控件GridControl,有时我们需要根据特定条件改变符合条件的行或者单元格颜色达到突出显示目的,现在动起鼠标跟我一起操作吧,对的,要达到这个目的您甚至都不用动键盘. ...
- DevExpress控件-- Gridcontrol合并表头
写在前面的话: 在园子里逛了有一段时间了,一直想写点东西,但苦于自己的水平有限,生怕写出来的东西浪费了读者的时间.楼主有幸参加了公司DevExpress控件的培训,独乐乐不如众乐乐,特附上Demo以飨 ...
- DevExpress 控件 GridControl常见用法
刚接触DevExpress第三方控件,把GridControl的常见用法整理一下,以供参考: 说明: gcTest GridControl gvText GridView //隐藏最上面的G ...
随机推荐
- 3D Game Programming with directx 11 习题答案 8.3
第八章 第三题 1.将flare.dds和flarealpha.dds拷贝到工程目录 2.创建shader resource view HR(D3DX11CreateShaderResourceVie ...
- 【HDU1402】【FNT版】A * B Problem Plus
Problem Description Calculate A * B. Input Each line will contain two integers A and B. Process to ...
- 单页应用引擎的写法artTemplate
使用到了ba-haschange.js <script src="../style/js/plugin/template-native-debug.js"></s ...
- jQuery 鼠标滑过及选中一行效果
/******* 表格效果 ********/ $("#gird_tbl tbody tr").live('mouseover', function () { $(this).ad ...
- Javascript线程及定时机制
setTimeout.setInterval的使用 Javascript api文档中定义setTimeout和setInterval第二个参数意义分别为间隔多少毫秒后回调函数被执行和每隔多少毫秒回调 ...
- CentOS6.5 yum安装桌面环境
安装原因 安装centos6.5时选择了minimal CentOS最小化安装方式 需要使用浏览器拨号连接内网 安装过程 通过yum grouplist查询在 group 软件包中,Desktop.D ...
- PHPCMS标签大全
{$head[title]} 页面标题,用法: {$phpcms[sitename]} 网站名称 用法: {$head[keywords]} 要害字 用法: {$head[description]} ...
- 【python】闰年规则
公历闰年判定遵循的规律为: 四年一闰,百年不闰,四百年再闰. 公历闰年的简单计算方法(符合以下条件之一的年份即为闰年)1.能被4整除而不能被100整除.2.能被400整除.
- python中跟字符串相关的一些操作
公司让用python自动生成代码,以前没看过python.所以匆匆的看了两天python就连猜带蒙就上马开干了..因此好多操作可能看的时候看懂了,用的时候知道有这么个东西,具体用法就忘记了..用到了就 ...
- id类型
id类型 在Objective-C 中,id 类型是一个独特的数据类型.在概念上,类似Java 的Object 类,可以转换为任何数据类型.换句话说,id 类型的变量可以存放任何数据类型的对象.在内部 ...