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 ...
随机推荐
- asp.net treeview控件无刷新选择和删除节点的ajax方法
转载 http://blog.csdn.net/luq885/article/details/1621681 如果节点被选择的话,节点所在的td的class属性就会被设置为TreeView1_1. ...
- ueditor富文本编辑在 asp.net MVC下使用步骤
mvc项目中用到了这个富文本编辑就试着把遇到的问题个使用步骤在这里记录一下,希望大家少走弯路. 1.首先我们先下载net版本的uediot r.
- PHP导出excel信息表格
//导出表格public function get_exel($fileName,$headArr,$list){//导入PHPExcel类库,因为PHPExcel没有用命名空间,只能import导入 ...
- MOOC即Massive Open Online Course的缩写
A man can succeed at almost anything for which he was unlimited enthusiasm. 只要有无限的热情,一个人几乎可以在任何事情上取得 ...
- Memcache,Redis
Memcache Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度. ...
- js 图片base64
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...
- linux下date命令实现时间戳与日期的转换
1.查看指定时间的时间戳 查看当前时间 #date +%s 查看指定时间 #date -d 2008-01-01 +%s 1199116800 #date -d 20080101 ...
- Windows命令行下pip安装python whl包
因为做网页爬虫,需要用到一个爬新闻的BeautifulSoup 的包,然后再关网上下的是whl包,第一次装,虽然花了点时间,最后还是装上去了,记录一下,方便下次. 先发一下官方文档地址.http:// ...
- 《深入剖析Tomcat》阅读(三)
这里要介绍下Tomcat的一个重要设计方法,Catalina设计方式. Servlet容器是一个复杂系统,但是,它有三个基本任务,对每个请求,servlet容器会为其完成以下三个操作: 1.创建一个R ...
- iOS 宏定义_16进制色值转化为RGB返回UIColor类型对象
// 十六进制颜色 #define COLOR_WITH_HEX(hexValue) [UIColor colorWithRed:((float)((hexValue & 0xFF0000) ...