gridview单元格编辑添加数据
行号
private void gridView1_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
{
e.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
if (e.Info.IsRowIndicator)
{
if (e.RowHandle >= )
{
e.Info.DisplayText = (e.RowHandle + ).ToString();
}
else if (e.RowHandle < && e.RowHandle > -)
{
e.Info.Appearance.BackColor = System.Drawing.Color.AntiqueWhite;
e.Info.DisplayText = "G" + e.RowHandle.ToString();
}
}
}
声明数据源
private BindingList<InvoiceDetail> DataSource;//发票数据源
//初始化数据源
private void frmAddindent_Load(object sender, EventArgs e)
{
this.outTaskListLog.RefreshParent += new RefreshParentHandler((object obj) => { SetForm((OutRequest)obj); });
DataSource = new BindingList<InvoiceDetail>();
dvginfo.DataSource = DataSource;
}
添加新行事件
private void gridView1_InitNewRow(object sender, DevExpress.XtraGrid.Views.Grid.InitNewRowEventArgs e)
{
InvoiceDetail invoiceData = gridView1.GetRow(e.RowHandle) as InvoiceDetail;
invoiceData.Price = ;
invoiceData.Amount = ;
invoiceData.Currency = cbDeclaredCurrency.Text;
invoiceData.Quantity = ;
invoiceData.QuantityUnit = "PCS";
invoiceData.OriginCountryCode = "CN";
}
单元格值,验证,离开事件
private void gridView1_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
{
if (gridView1.FocusedRowHandle >= || gridView1.IsNewItemRow(gridView1.FocusedRowHandle))
{
if (e.Column.FieldName.Equals("Quantity") || e.Column.FieldName.Equals("Price"))
{
int i = ;
if (gridView1.GetFocusedRowCellValue("Quantity") != null)
{
i = (int)gridView1.GetFocusedRowCellValue("Quantity");
}
decimal d = ;
if (gridView1.GetFocusedRowCellValue("Price") != null)
{
d = Common.Utils.ObjToDecimal(gridView1.GetFocusedRowCellValue("Price"), );
}
decimal dec = i * d;
//设置结果值
gridView1.SetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns["Amount"], dec);
//gridView1.SetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns["NumberOfPieces"], e.RowHandle + 1);
}
if (e.Column.FieldName.Equals("Amount"))
{
decimal dAmount = DataSource.Sum(s => s.Amount);
txtDeclared.Text = dAmount.ToString();
}
}
}
private void gridView1_BeforeLeaveRow(object sender, DevExpress.XtraGrid.Views.Base.RowAllowEventArgs e)
{
if (gridView1.GetFocusedRowCellValue("Description") == null || string.IsNullOrWhiteSpace(gridView1.GetFocusedRowCellValue("Description").ToString()))
{
//gridView1.SetFocusedValue(gridView1.GetFocusedRowCellValue(""));
return;
}
if (gridView1.GetFocusedRowCellValue("Quantity") == null || gridView1.GetFocusedRowCellValue("Quantity").ToString() == "0")
{
//gridView1.OptionsView.NewItemRowPosition = NewItemRowPosition.None;
return;
}
if (gridView1.GetFocusedRowCellValue("Price") == null || gridView1.GetFocusedRowCellValue("Price").ToString() == "0")
{
return;
}
if (gridView1.GetFocusedRowCellValue("Amount") == null || gridView1.GetFocusedRowCellValue("Amount").ToString() == "0")
{
return;
}
} private void gridView1_ValidatingEditor(object sender, DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs e)
{
if (e.Value == null)
{
e.Value = "";
}
string reply = "";
int ireply = -1;
decimal dreply = -1;
if (gridView1.FocusedColumn.FieldName == "Description")
{
if (string.IsNullOrWhiteSpace(e.Value.ToString()))
{
reply = "品名不能为空。";
}
}
if (gridView1.FocusedColumn.FieldName == "Quantity")
{
if (int.TryParse(e.Value.ToString(), out ireply))
{
if (ireply <= 0)
{
reply = "物品数量必须大于零";
}
}
else
{
reply = "物品数量需要输入整数";
} } if (gridView1.FocusedColumn.FieldName == "Price")
{
if (decimal.TryParse(e.Value.ToString(), out dreply))
{
if (dreply <= 0)
{
reply = "单件必须大于零";
}
}
else
{
reply = "单件需要输入数字";
}
} if (gridView1.FocusedColumn.FieldName == "Amount")
{
if (decimal.TryParse(e.Value.ToString(), out dreply))
{
if (dreply <= 0)
{
reply = "金额必须大于零";
} }
else
{
reply = "金额需要输入数字";
}
} if (!string.IsNullOrWhiteSpace(reply))
{
e.ErrorText = reply.ToString();
e.Valid = false;
}
} AppearanceDefault appError = new AppearanceDefault(Color.White, Color.LightCoral, Color.Empty, Color.Red, System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal);
private void gridView1_RowCellStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e)
{
object val = gridView1.GetRowCellValue(e.RowHandle, e.Column);
if (gridView1.IsNewItemRow(e.RowHandle))
{
return;
}
else
{
if (e.Column.FieldName == "Description")
{
if (e.CellValue == null || string.IsNullOrWhiteSpace(e.CellValue.ToString()))
{
AppearanceHelper.Apply(e.Appearance, appError);
//ErrorInvoice = true;
}
}
if (e.Column.FieldName == "Quantity")
{
if (e.CellValue == null || e.CellValue.ToString() == "0")
{
AppearanceHelper.Apply(e.Appearance, appError);
//ErrorInvoice = true;
}
}
if (e.Column.FieldName == "Price")
{
if (e.CellValue == null || e.CellValue.ToString() == "0")
{
AppearanceHelper.Apply(e.Appearance, appError);
}
}
if (e.Column.FieldName == "Amount")
{
if (e.CellValue == null || e.CellValue.ToString() == "0")
{
AppearanceHelper.Apply(e.Appearance, appError);
}
}
}
}
单元格控件赋值
#region 发票明细数据
//原产地
gltxtCountryOrigin.DataSource = cname;//原产地二字码
this.gltxtCountryOrigin.NullText = "";
this.gltxtCountryOrigin.DisplayMember = "Col001";
this.gltxtCountryOrigin.ValueMember = "Col001";
this.gltxtCountryOrigin.AllowNullInput = DevExpress.Utils.DefaultBoolean.True;
this.gltxtCountryOrigin.View.BestFitColumns();
this.gltxtCountryOrigin.ShowFooter = false;
this.gltxtCountryOrigin.View.OptionsView.ShowAutoFilterRow = true; //显示不显示grid上第一个空行,也是用于检索的应用
//this.cmb_rCountryCode.Properties.AutoComplete = false;
this.gltxtCountryOrigin.ImmediatePopup = true;////在输入框按任一可见字符键时立即弹出下拉窗体
this.gltxtCountryOrigin.PopupFilterMode = DevExpress.XtraEditors.PopupFilterMode.Contains;//
this.gltxtCountryOrigin.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard;
//数量单位
var mienu_QuantityUnits = quantityUnitsBLL.GetQuantityUnitsList().OrderBy(o => o.quCode).ToList();//数量单位
this.gltxtNumberUnits.DataSource = mienu_QuantityUnits;
this.gltxtNumberUnits.NullText = "";
this.gltxtNumberUnits.DisplayMember = "quCode";
this.gltxtNumberUnits.ValueMember = "quCode";
this.gltxtNumberUnits.AllowNullInput = DevExpress.Utils.DefaultBoolean.True;
this.gltxtNumberUnits.View.BestFitColumns();
this.gltxtNumberUnits.ShowFooter = false;
this.gltxtNumberUnits.View.OptionsView.ShowAutoFilterRow = true; //显示不显示grid上第一个空行,也是用于检索的应用
//this.gltxtNumberUnits.Properties.AutoComplete = false;
this.gltxtNumberUnits.ImmediatePopup = true;////在输入框按任一可见字符键时立即弹出下拉窗体
this.gltxtNumberUnits.PopupFilterMode = DevExpress.XtraEditors.PopupFilterMode.Contains;//
this.gltxtNumberUnits.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard;
#endregion
单元格属性设置

gridview单元格编辑添加数据的更多相关文章
- MFC List Control 控件添加单元格编辑,实现可编辑重写
在实现随机生成四则运算的个人项目中,目前已经完成基本功能,想要把程序变成一个Windows界面的程序.原本以为学习过MFC,应该很快就能完成.但是由于以前用的都是VC6.0,这次用了VS2010,稍微 ...
- Bootstrap:Bootstrap_table第一篇:快速用bootstrap_table(支持参数)筛选并展示数据,固定表格前几列,实现表格单元格编辑
1.准备好css和js文件 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstr ...
- jqGrid单元格编辑配置,事件及方法
转自 http://blog.csdn.net/xueshijun666/article/details/18151055 // var ret = $("#in_store_list_de ...
- GridControl单元格编辑验证的方法
本文实例演示了DevExpress实现GridControl单元格编辑验证的方法,比较实用的功能,具体方法如下: 主要功能代码如下: /// <summary> /// 自定义单元格验证 ...
- JQgrid实现全表单元格编辑
1 jQuery("#baseWageDataValueGrid").jqGrid('setGridParam',{'cellEdit':true}); 2 3 //修改所有td ...
- Dev控件GridView单元格绑定控件
Dev控件GridView单元格绑定控件 //文本按钮 RepositoryItemButtonEdit btnFields = new RepositoryItemButtonEdit();//创建 ...
- sencha gridpanel 单元格编辑
{ xtype: 'gridpanel', region: 'north', height: 150, title: 'My Grid Panel', store: 'A_Test_Store', c ...
- Datagrid扩展方法InitEditGrid{支持单元格编辑}
//-----------------------------------------------------------------/******************************** ...
- Datagrid扩展方法onClickCell{easyui-datagrid-扩充-支持单元格编辑}
//-----------------------------------------------------------------/******************************** ...
随机推荐
- CentOS7设置开机启动方式(图形界面/命令行界面)
CentOS 7由于使用systemd而不是init,所以不能通过修改inittab文件来修改开机启动模式. 先使用ctrl+alt+f2切换到命令行模式,然后输入命令:systemctl set-d ...
- linux如何将某个用户加入到其它组?
答: 在Ubuntu下可以使用以下命令添加: sudo usermod -a -G <group_name> <user_name> 注意: 如何生效呢? 需要重新登陆系统 ...
- Mysql忘记密码,支持中文,tab补全
忘记Mysql密码: (1)暂停服务: /etc/init.d/mysqld stop (2)跳过grant表授权,进入安全模式,并在后台运行: mysqld_safe --skip-grant-ta ...
- 用Servlet返回JSON文本动态创建DataGrid
<%@ page language="java" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC & ...
- Shell脚本中判断字符串是否被包含在内
1.字段 grep:案例: str1="abcdefgh"str2="def"result=$(echo $str1 | grep "${str2}& ...
- manage.py migrate 报错
第一个提示,setting里面的 STATICFILES_DIRS = ( os.path.join(BASE_DIR,'static')) 第二行的后面加','解决,这样可以被识别是tuple. ...
- web.config 配置无后缀文本的访问
在 www.sslforfree.com 申请ssl免费证书,我参考了别人分享的方法,采用了文件验证的方式.可是按照步骤把文件放好后,一直访问不了,总是跳到了404. 确定文件路径和上传的文件都没问题 ...
- dbgrideh 中的keylist,picklist的用法
dbgrideh procedure TForm1.FormCreate(Sender: TObject); begin DBGridEh1.DataSource:=DataSource1; Data ...
- JAVA解析_操纵_JS_JAVA_JS引擎
http://uuhorse.iteye.com/blog/1705684 http://blog.csdn.net/chinajash/article/details/1491570 http:// ...
- 数组setArray和addObjectsFromArray的区别
-setArray:用另一个数组中的所有对象来替换当前数组中的所有对象 -addObjectsFromArray:在原数组最后添加另一个数组的全部对象 NSArray *arr = @["] ...