我创建了 Xtragrid,其中我在运行时添加了 RepositoryItemLookUpEdit 但问题是当我使用 View.AddNewRow() 添加新行时;添加一个新行,其中包含空单元格。所以我需要在新创建的行中添加 RepositoryItemLookUpEdit。有谁能够帮我 ?
问问题
14339 次
4 回答
1
我遇到过同样的问题。您需要使用实现 IBindingList 的数据源,例如 BindingList并设置 AllowNew = true
于 2013-03-14T15:35:51.630 回答
0
你在哪里绑定数据?
我可以建议您实施以下 ex 并查看问题的根源吗? 从表单上的网格和按钮开始。我在设计器中创建了存储库项
private void Form1_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable("newTable");
dt.Columns.Add("1", typeof(Int32));
dt.Columns.Add("2", typeof(bool));
dt.Columns.Add("3", typeof(Int32));
dt.Rows.Add(1, true, 12);
dt.Rows.Add(2, false, 32);
dt.Rows.Add(3, true, 42);
gridControl1.DataSource = dt;
gridView1.Columns[0].ColumnEdit = repositoryItemCheckEdit1;
}
private void button1_Click(object sender, EventArgs e)
{
gridView1.AddNewRow();
}
它在第一列中添加了一个带有存储库项目的新行:)
于 2013-01-03T11:41:05.463 回答
0
Private Sub grdInvoice_EditorKeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) 处理 grdInvoice.EditorKeyDown
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
于 2015-03-23T21:10:31.510 回答
0
我总是在数据源中添加一项,例如:
private void AgregarDetalle_Click(object sender, EventArgs e) {
var list = GridOpcionDetalle.DataSource as List<DetalleOpcion>;
list.Add(new DetalleOpcion());
GridOpcionDetalle.DataSource = list;
GridOpcionDetalle.RefreshDataSource();
}
于 2013-06-01T23:35:20.543 回答