Я заимствованный из файла Excel в GridControl в DevExpress я не имею никаких проблем импортирующих первенствовать файл на управляющую сеткой, но когда я добавить столбцы в мой GridControl затем попытаться импортировать мой Excel файл перезаписывает эти столбцы,проблем с DevExpress GridControl и импортировать Excel файл
я также попытался использовал CustomColumnUnBoundData событие от GridView и, кажется, работает, и это не приведет к перезаписи столбцов при добавлении Unbound столбцов Но когда Нажата кнопка, она создает два c olumns for some Reason Named [NAME] и дважды запрашивает значения строк.
ОБРАЗЦА VB:
Private Sub SimpleButton2_Click(sender As System.Object, e As System.EventArgs) Handles SimpleButton2.Click, GridView1.DataSourceChanged
OFD.ImportMe(GridControl1, TextEdit1)
view = GridControl1.MainView
'Dim Columns As GridColumn
GridColumn1 = GridView1.Columns.AddField("NAME")
GridColumn1.VisibleIndex = view.Columns.Count
End Sub
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub GridView1_CustomUnboundColumnData(sender As Object, e As DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs) Handles GridView1.CustomUnboundColumnData
Dim Fields() As String = {"NAME", "DESCRIPTION", "STOCK", "ORDERED"}
GridColumn1.VisibleIndex = GridView1.Columns.Count - 1
For i As Integer = 0 To GridView1.Columns.Count
If e.Column.FieldName = Fields(0) AndAlso e.IsGetData Then
e.Value = e.ListSourceRowIndex
End If
' OFD.Listing(e.ListSourceRowIndex)
Next
End Sub
я установил связь в другом классе:
КЛАСС VB:
Public Function openMe(ByVal path As TextEdit)
Dim ofd As New OpenFileDialog
ofd.Filter = "Excel Files (*.xls)|*.xls|All Files (*.)|*.*"
If ofd.ShowDialog() = DialogResult.OK Then
path.Text = ofd.FileName
End If
Return 0
End Function
Public Function ImportMe(ByVal gc As GridControl, ByVal file As TextEdit)
Dim Connect As OleDbConnection
Dim Command As OleDbDataAdapter
Dim con As String
con = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + file.Text + ";Extended Properties=Excel 8.0"
Connect = New OleDbConnection(con)
Command = New OleDbDataAdapter("Select * from [Sheet1$]", Connect)
DD = New DataSet()
Command.Fill(DD)
gc.DataSource = DD.Tables(0)
Connect.Close()
Return DD
End Function
Public Function Listing(ByVal sender As Object, ByVal listSource As Integer)
Dim DR As DataRow = DD.Tables("NAME").Rows(listSource)
Return DR
End Function
Извиняюсь за длинный пост я просто дон «Я не знаю, что вызывает это событие, поэтому я должен был его полностью объяснить. Спасибо
Являются ли названия ваших столбцов и столбцов из Excel одинаковыми? –