先在方法中加入2行代码
gvTask.AddNewRow(); //会触发事件
gvTask.OptionsBehavior.Editable = true;//保存更改内容
//下面是事件
private void gridView1_InitNewRow(object sender, DevExpress.XtraGrid.Views.Grid.InitNewRowEventArgs e)
{
ColumnView View = sender as ColumnView;
View.SetRowCellValue(e.RowHandle, View.Columns[0], gridView1.GetRowCellValue(gridView1.GetRowHandle(gridView1.RowCount - 2), gridView1.Columns[0])); //复制最后一行的数据到新行
View.SetRowCellValue(e.RowHandle, View.Columns[1], gridView1.GetRowCellValue(gridView1.GetRowHandle(gridView1.RowCount - 2), gridView1.Columns[1])); //复制最后一行的数据到新行
}
你也可以根据需要更改,流程就是这样
gvTask.AddNewRow(); //会触发事件
gvTask.OptionsBehavior.Editable = true;//保存更改内容
//下面是事件
private void gridView1_InitNewRow(object sender, DevExpress.XtraGrid.Views.Grid.InitNewRowEventArgs e)
{
ColumnView View = sender as ColumnView;
View.SetRowCellValue(e.RowHandle, View.Columns[0], gridView1.GetRowCellValue(gridView1.GetRowHandle(gridView1.RowCount - 2), gridView1.Columns[0])); //复制最后一行的数据到新行
View.SetRowCellValue(e.RowHandle, View.Columns[1], gridView1.GetRowCellValue(gridView1.GetRowHandle(gridView1.RowCount - 2), gridView1.Columns[1])); //复制最后一行的数据到新行
}
你也可以根据需要更改,流程就是这样
你好,我用了AddNewRow,但是并没有触发InitNewRow事件,这个是什么情况?
我拖了个空白的控件测试,发现也并没有触发嘛,这个是要设置什么属性吗?public partial class A : DevExpress.XtraEditors.XtraForm
{
public A()
{
InitializeComponent();
this.gridView1.InitNewRow += gridView1_InitNewRow;
} private void gridView1_InitNewRow(object sender, DevExpress.XtraGrid.Views.Grid.InitNewRowEventArgs e)
{
} private void simpleButton1_Click(object sender, EventArgs e)
{
this.gridView1.AddNewRow();
}
}
我拖了个空白的控件测试,发现也并没有触发嘛,这个是要设置什么属性吗?public partial class A : DevExpress.XtraEditors.XtraForm
{
public A()
{
InitializeComponent();
this.gridView1.InitNewRow += gridView1_InitNewRow;
} private void gridView1_InitNewRow(object sender, DevExpress.XtraGrid.Views.Grid.InitNewRowEventArgs e)
{
} private void simpleButton1_Click(object sender, EventArgs e)
{
this.gridView1.AddNewRow();
}
}
你设置 newRow的 显示位置了么
我拖了个空白的控件测试,发现也并没有触发嘛,这个是要设置什么属性吗?public partial class A : DevExpress.XtraEditors.XtraForm
{
public A()
{
InitializeComponent();
this.gridView1.InitNewRow += gridView1_InitNewRow;
} private void gridView1_InitNewRow(object sender, DevExpress.XtraGrid.Views.Grid.InitNewRowEventArgs e)
{
} private void simpleButton1_Click(object sender, EventArgs e)
{
this.gridView1.AddNewRow();
}
}
你设置 newRow的 显示位置了么你好,我测试的是一个空白的控件,没有数据源绑定,仅仅是通过AddNewRow方法看是否触发,InitNewRow 事件,结果发现没有触发。另外,程序里面的控件也是没有绑定数据源的,但是是通过以下代码添加commodityBusiness.GetCommodityListInId(commodityIdList).ForEach(item =>
{
this.gridView1.AddNewRow(); //此处没有触发事件 this.gridView1.SetFocusedRowCellValue("CommodityNumber", item.CommodityNumber);
this.gridView1.SetFocusedRowCellValue("CommodityName", item.CommodityName);
this.gridView1.SetFocusedRowCellValue("Unit", item.Unit);
this.gridView1.SetFocusedRowCellValue("UnitPrice", item.UnitPrice);
this.gridView1.SetFocusedRowCellValue("Count", item.Count);
});
https://www.youtube.com/watch?v=uSwClk_s9rA
下面是youtube的截图