RepositoryItemComboBox 清除项目 当不在焦点时

RepositoryItemComboBox Clears item When not in focus

所以基本上我创建了 7 列 [Particular] ,[Category] ,[Warranty] ,[Name] [Description] ,[Stocks],[Orders] [Particular] ,[Category][Warranty] 列是使用 DataTable 创建的并且在 Form_load Event

Dim tbl As New DataTable
        tbl.Columns.Add("Particular")
        tbl.Columns.Add("Category")
        tbl.Columns.Add("Warranty")
        tbl.Rows.Add("Select Particular", "Select Category", "Select Warranty")
        GridControl.DataSource = dtbl

其余 4 个列是使用 UnBoundColumnData 创建的,此列将接收我正在导入的 Excel 文件

我是如何创建列的,也可以位于Form_Load event

Dim Fields() As String = {"NAME", "DESCRIPTION", "STOCK", "ORDERED"}
        Dim View As ColumnView = GridControl1.MainView
        Dim gc3 As New GridColumn
        For i As Integer = 0 To Fields.Length - 1
            gc3 = GridView1.Columns.AddField(Fields(i))
            gc3.VisibleIndex = View.Columns.Count
            gc3.UnboundType = UnboundColumnType.String
        Next

然后我为 Particular-Category-Warranty 列创建了 RepositoryItemComboBox,它位于 GridView1_CustomRowCellEdit Event

 Dim rcb As RepositoryItemComboBox
        rcb = New RepositoryItemComboBox
        rcb.Items.Add("AA")
        rcb.Items.Add("BB")
        rcb.Items.Add("CC")
        GridView1.Columns("Particular").ColumnEdit = rcb

这会填充特定列并使 ColumnEdit = RepositoryItemComboBox

现在,当我在不导入 Excel 文件的情况下加载表单时,即使我关注不同的行,[Particular] 列中的值仍然存在。但是当我开始导入 excel 文件然后尝试 select 来自 RepositoryItemComboBox 的项目时,它现在在我关注不同的行时清除值

我真的需要一些帮助,因为我不知道如何保持这些价值观。谢谢

您必须在从 Excel.

加载数据后添加未绑定的列
private void FillExcelToGrid() {
   var tbl = GetExcelAsDataTable(); // this method wraps your existing code, you return the datatabele
   tbl.Columns.Add("Particular")
   tbl.Columns.Add("Category")
   tbl.Columns.Add("Warranty")

   for (var ii = 0; ii < tbl.Rows.Count; ii++) {
     tbl.Rows[ii]["Particular"] = "Select Particular";
     tbl.Rows[ii]["Category"] = "Select Category";
     tbl.Rows[ii]["Warranty"] = "Select Warranty";
   }
   GridControl.DataSource = tbl;
}