关于DEVEXPRESS GRIDCONTROL新增行赋值的问题

hikeradam 2015-12-08 11:40:54
希望在GRID中编辑新增行的时候,某列的数据可以自动赋予某个值,但是总是不能将值赋上去代码如下:


对控件初始化的代码如下:
this.gridControl1.DataSource = this.dtData;
this.gridView1.OptionsBehavior.Editable = true;
this.gridView1.OptionsBehavior.AllowAddRows = DevExpress.Utils.DefaultBoolean.True;
this.gridView1.OptionsView.NewItemRowPosition = DevExpress.XtraGrid.Views.Grid.NewItemRowPosition.Bottom;

为了测试,在第一个列中绑定了一个repositoryItemButtonEdit1控件,在CLICK事件中的代码执行了,但没有起作用
private void repositoryItemButtonEdit1_Click(object sender, EventArgs e)
{
this.gridView1.SetFocusedRowCellValue("col1",1111);
this.gridView1.SetFocusedRowCellValue("col2", 2222);
}
调试中在事件中加入代码
int focuedRow = this.gridView1.FocusedRowHandle;
this.gridView1.SetRowCellValue(focuedRow, "col1", 1111);
发现新行的行号是一个负值,类似-239763,该如何解决。
...全文
548 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
exception92 2015-12-09
  • 打赏
  • 举报
回复
引用 3 楼 u012724051 的回复:
[quote=引用 1 楼 duanzi_peng 的回复:] https://documentation.devexpress.com/#WindowsForms/DevExpressXtraGridViewsBaseColumnView_InitNewRowtopic
解决方法是 private void gridView1_InitNewRow(object sender, InitNewRowEventArgs e) { DevExpress.XtraGrid.Views.Grid.GridView view = sender as Grid.GridView; view.SetRowCellValue(e.RowHandle, view.Columns["PurchaseDate"], DateTime.Today); } 但是,我点这个按钮的时候这个NEWROW尚未产生,是需要 private void repositoryItemButtonEdit1_Click(object sender, EventArgs e) { this.gridView1.AddNewRow(); this.gridView1.SetFocusedRowCellValue("col1",1111); this.gridView1.SetFocusedRowCellValue("col2", 2222); } 么[/quote] 新行的位置 是可以设定的。没必要 再弄一个按钮。
hikeradam 2015-12-09
  • 打赏
  • 举报
回复
引用 1 楼 duanzi_peng 的回复:
https://documentation.devexpress.com/#WindowsForms/DevExpressXtraGridViewsBaseColumnView_InitNewRowtopic
解决方法是 private void gridView1_InitNewRow(object sender, InitNewRowEventArgs e) { DevExpress.XtraGrid.Views.Grid.GridView view = sender as Grid.GridView; view.SetRowCellValue(e.RowHandle, view.Columns["PurchaseDate"], DateTime.Today); } 但是,我点这个按钮的时候这个NEWROW尚未产生,是需要 private void repositoryItemButtonEdit1_Click(object sender, EventArgs e) { this.gridView1.AddNewRow(); this.gridView1.SetFocusedRowCellValue("col1",1111); this.gridView1.SetFocusedRowCellValue("col2", 2222); } 么
hikeradam 2015-12-09
  • 打赏
  • 举报
回复
已解决,谢谢

110,524

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧