Devexpress 将新行添加到xtragrid视图
我创建了Xtragrid,在其中我在运行时添加了RepositoryItemLookUpEdit,但问题是当我使用View.AddNewRow()添加新行时;将添加一个带有空单元格的新行。所以我需要在新创建的行中添加RepositoryItemLookUpEdit。有人能帮我吗?数据绑定在哪里 我可以建议您执行以下ex并查看问题的起因吗? 从表格上的网格和按钮开始。我在设计器中创建了存储库项Devexpress 将新行添加到xtragrid视图,devexpress,Devexpress,我创建了Xtragrid,在其中我在运行时添加了RepositoryItemLookUpEdit,但问题是当我使用View.AddNewRow()添加新行时;将添加一个带有空单元格的新行。所以我需要在新创建的行中添加RepositoryItemLookUpEdit。有人能帮我吗?数据绑定在哪里 我可以建议您执行以下ex并查看问题的起因吗? 从表格上的网格和按钮开始。我在设计器中创建了存储库项 它在第一列中添加了一个新行,其中包含一个存储库项:)数据绑定到哪里 我可以建议您执行以下ex并查看问题的
它在第一列中添加了一个新行,其中包含一个存储库项:)数据绑定到哪里 我可以建议您执行以下ex并查看问题的起因吗? 从表格上的网格和按钮开始。我在设计器中创建了存储库项
它在第一列中添加了一个新行,其中包含一个存储库项:)我也遇到了同样的问题。您需要使用实现IBindingList的数据源,例如BindingList和set AllowNew=true我也有同样的问题。您需要使用实现IBindingList的数据源,例如BindingList和set AllowNew=true我总是在数据源中再添加一项,例如:
private void AgregarDetalle_Click(object sender, EventArgs e) {
var list = GridOpcionDetalle.DataSource as List<DetalleOpcion>;
list.Add(new DetalleOpcion());
GridOpcionDetalle.DataSource = list;
GridOpcionDetalle.RefreshDataSource();
}
private void agregardallle\u单击(对象发送者,事件参数){
var list=gridopciondelle.DataSource作为列表;
添加(新的DetalleOpcion());
GridOpcionDetalle.DataSource=list;
RefreshDataSource();
}
我总是在数据源中再添加一项,例如:
private void AgregarDetalle_Click(object sender, EventArgs e) {
var list = GridOpcionDetalle.DataSource as List<DetalleOpcion>;
list.Add(new DetalleOpcion());
GridOpcionDetalle.DataSource = list;
GridOpcionDetalle.RefreshDataSource();
}
private void agregardallle\u单击(对象发送者,事件参数){
var list=gridopciondelle.DataSource作为列表;
添加(新的DetalleOpcion());
GridOpcionDetalle.DataSource=list;
RefreshDataSource();
}
私有子grdInvoice_editWorkeyDown(ByVal sender作为对象,ByVal e作为System.Windows.Forms.KeyEventArgs)处理grdInvoice.editWorkeyDown
Dim dt As New DataTable
Dim dr As DataRow
Dim i As Integer
With GridView1
.OptionsNavigation.EnterMoveNextColumn = True
If e.KeyData = "13" Or e.KeyData = "9" Then
If .FocusedRowHandle.ToString = .RowCount - 1 Then
If .FocusedColumn Is .Columns("Rate") Then
If .GetRowCellValue(.RowCount - 1, "Qty") <> "0" And .GetRowCellValue(.RowCount - 1, "Rate") <> "0" And .GetRowCellValue(.RowCount - 1, "ItemCode") <> "" Then
dt.Columns.Add("No")
dt.Columns.Add("ItemCode")
dt.Columns.Add("ItemName")
dt.Columns.Add("Qty")
dt.Columns.Add("Rate")
dt.Columns.Add("Amount")
dt.Columns.Add("Unit")
For i = 0 To .RowCount - 1
dr = dt.NewRow
dr("No") = .GetRowCellValue(i, "No")
dr("ItemCode") = .GetRowCellValue(i, "ItemCode")
dr("ItemName") = .GetRowCellValue(i, "ItemName")
dr("Rate") = .GetRowCellValue(i, "Rate")
dr("Qty") = .GetRowCellValue(i, "Qty")
dr("Amount") = .GetRowCellValue(i, "Amount")
dr("Unit") = .GetRowCellValue(i, "Unit")
dt.Rows.Add(dr)
Next
dr = dt.NewRow
dr("No") = .GetRowCellValue(i - 1, "No") + 1
dr("ItemCode") = ""
dr("ItemName") = ""
dr("Rate") = "0"
dr("Qty") = "0"
dr("Amount") = "0"
dr("Unit") = ""
dt.Rows.Add(dr)
grdInvoice.DataSource = dt
.FocusedRowHandle = i
.FocusedColumn = .Columns("ItemCode")
End If
End If
End If
End If
End With
Dim dt作为新数据表
将dr设置为数据行
作为整数的Dim i
使用GridView1
.OptionsNavigation.EnterMoveNextColumn=True
如果e.KeyData=“13”或e.KeyData=“9”,则
如果.FocusedRowHandle.ToString=.RowCount-1,则
如果.FocusedColumn是.Columns(“Rate”),则
如果.GetRowCellValue(.RowCount-1,“数量”)“0”和.GetRowCellValue(.RowCount-1,“比率”)“0”和.GetRowCellValue(.RowCount-1,“项目代码”)”,则
dt.列。添加(“否”)
dt.列。添加(“项目代码”)
dt.列。添加(“项目名称”)
dt.列添加(“数量”)
dt.列。添加(“费率”)
dt.列添加(“金额”)
dt.列。添加(“单位”)
对于i=0到.RowCount-1
dr=dt.NewRow
dr(“No”)=.GetRowCellValue(i,“No”)
dr(“ItemCode”)=.GetRowCellValue(i,“ItemCode”)
dr(“ItemName”)=.GetRowCellValue(i,“ItemName”)
dr(“速率”)=.GetRowCellValue(i,“速率”)
dr(“数量”)=.GetRowCellValue(i,“数量”)
dr(“金额”)=.GetRowCellValue(i,“金额”)
dr(“单位”)=.GetRowCellValue(i,“单位”)
dt.行.添加(dr)
下一个
dr=dt.NewRow
dr(“No”)=.GetRowCellValue(i-1,“No”)+1
dr(“项目代码”)=“”
dr(“项目名称”)=“”
dr(“速率”)=“0”
dr(“数量”)=“0”
dr(“金额”)=“0”
dr(“单位”)=“”
dt.行.添加(dr)
grdInvoice.DataSource=dt
.FocusedRowHandle=i
.FocusedColumn=.Columns(“项目代码”)
如果结束
如果结束
如果结束
如果结束
以
私有子grdInvoice_editWorkeyDown(ByVal sender作为对象,ByVal e作为System.Windows.Forms.KeyEventArgs)处理grdInvoice.editWorkeyDown
Dim dt As New DataTable
Dim dr As DataRow
Dim i As Integer
With GridView1
.OptionsNavigation.EnterMoveNextColumn = True
If e.KeyData = "13" Or e.KeyData = "9" Then
If .FocusedRowHandle.ToString = .RowCount - 1 Then
If .FocusedColumn Is .Columns("Rate") Then
If .GetRowCellValue(.RowCount - 1, "Qty") <> "0" And .GetRowCellValue(.RowCount - 1, "Rate") <> "0" And .GetRowCellValue(.RowCount - 1, "ItemCode") <> "" Then
dt.Columns.Add("No")
dt.Columns.Add("ItemCode")
dt.Columns.Add("ItemName")
dt.Columns.Add("Qty")
dt.Columns.Add("Rate")
dt.Columns.Add("Amount")
dt.Columns.Add("Unit")
For i = 0 To .RowCount - 1
dr = dt.NewRow
dr("No") = .GetRowCellValue(i, "No")
dr("ItemCode") = .GetRowCellValue(i, "ItemCode")
dr("ItemName") = .GetRowCellValue(i, "ItemName")
dr("Rate") = .GetRowCellValue(i, "Rate")
dr("Qty") = .GetRowCellValue(i, "Qty")
dr("Amount") = .GetRowCellValue(i, "Amount")
dr("Unit") = .GetRowCellValue(i, "Unit")
dt.Rows.Add(dr)
Next
dr = dt.NewRow
dr("No") = .GetRowCellValue(i - 1, "No") + 1
dr("ItemCode") = ""
dr("ItemName") = ""
dr("Rate") = "0"
dr("Qty") = "0"
dr("Amount") = "0"
dr("Unit") = ""
dt.Rows.Add(dr)
grdInvoice.DataSource = dt
.FocusedRowHandle = i
.FocusedColumn = .Columns("ItemCode")
End If
End If
End If
End If
End With
Dim dt作为新数据表
将dr设置为数据行
作为整数的Dim i
使用GridView1
.OptionsNavigation.EnterMoveNextColumn=True
如果e.KeyData=“13”或e.KeyData=“9”,则
如果.FocusedRowHandle.ToString=.RowCount-1,则
如果.FocusedColumn是.Columns(“Rate”),则
如果.GetRowCellValue(.RowCount-1,“数量”)“0”和.GetRowCellValue(.RowCount-1,“比率”)“0”和.GetRowCellValue(.RowCount-1,“项目代码”)”,则
dt.列。添加(“否”)
dt.列。添加(“项目代码”)
dt.列。添加(“项目名称”)
dt.列添加(“数量”)
dt.列。添加(“费率”)
dt.列添加(“金额”)
dt.列。添加(“单位”)
对于i=0到.RowCount-1
dr=dt.NewRow
dr(“No”)=.GetRowCellValue(i,“No”)
dr(“ItemCode”)=.GetRowCellValue(i,“ItemCode”)
dr(“ItemName”)=.GetRowCellValue(i,“ItemName”)
dr(“速率”)=.GetRowCellValue(i,“速率”)
dr(“数量”)=.GetRowCellValue(i,“数量”)
dr(“金额”)=.GetRowCellValue(i,“金额”)
dr(“单位”)=.GetRowCellValue(i,“单位”)
dt.行.添加(dr)
下一个
dr=dt.NewRow
dr(“No”)=.GetRowCellValue(i-1,“No”)+1
dr(“项目代码”)=“”