2016-07-26 89 views
0

所以基本上我创建7列[Particular] ,[Category] ,[Warranty] ,[Name] [Description] ,[Stocks],[Orders][Particular] ,[Category][Warranty]列使用DataTable创建并在所述Form_load EventRepositoryItemComboBox疤项当未聚焦

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此列将收到创建我很进口

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

Excel文件210
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 

然后我创建的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文件,然后尝试从RepositoryItemComboBox中选择一个项目时,它现在清除了值,当我集中到不同的行

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

+0

如何从Excel中加载?你设置DataSource?如果是这样,你有一个新的数据源只有4列。 –

+0

是的,即时通讯使用OleDbConnection来加载Excel文件然后传递给OleDbDataAdapter,并由DataSet最后调用GridControl.Datasource = DataSource.Tables(0).Fill。你能帮助我解决这个问题谢谢 –

回答

0

您必须在从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; 
} 
+0

所以基本上我必须添加导入excel文件后的列,所以我应该把它放在一个按钮,而不是加载它在form_load事件..谢谢你,你一直很有帮助 –