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;
}
所以基本上我创建了 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;
}