2016-07-26 4 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 этих столбцов будут получать файлы 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 

Затем я создал 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? Если это так, у вас есть новый DataSource с 4 столбцами. –

+0

yes im using OleDbConnection для загрузки файла Excel Затем передается в OleDbDataAdapter и является .Fill с помощью DataSet, который в конечном итоге вызывает его с помощью GridControl.Datasource = DataSource.Tables (0). Можете ли вы помочь мне с этой проблемой. Спасибо –

ответ

0

После загрузки данных из Excel вам необходимо добавить unbound colums.

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. Спасибо, что вы были полезны –

Смежные вопросы