Импортированный Excel в datagridview не показывает границу

Я импортирую несколько листов Excel в datagridview в разных формах. Например: из формы 1. Я вызываю datagridview на form5, чтобы импортировать в него данные листа Excel, поэтому моя проблема в том, что он отлично открывается в form5, но когда он возвращается в главное меню (form1) из формы 5 (он закрывает form5 и открывает form1), а затем я вызываю другой datagridview в форме 6 из самой формы 1, на этот раз границы ячеек, особенно в нижней части datagridview, не отображаются, и данные кажутся не отображаются должным образом, это не такие тяжелые файлы Excel, но даже менее 25 строк.

Код импорта в Excel:

Dim oform13 As Form13 = New Form13()
    oform13.Show()
    Try

        Dim MyConnection As System.Data.OleDb.OleDbConnection
        Dim dataSet As System.Data.DataSet
        Dim MyCommand As System.Data.OleDb.OleDbDataAdapter
        Dim path As String = "C:\New folder\New Building Project\Daily Checklist\abcd.xlsx"

        MyConnection = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source = " + path + ";Extended Properties=Excel 12.0;")
        MyCommand = New System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", MyConnection)

        dataSet = New System.Data.DataSet
        MyCommand.Fill(dataSet)
        oform13.DataGridView1.DataSource = dataSet.Tables(0)
        Dim i As Integer
        For i = 0 To oform13.DataGridView1.Columns.Count - 1
            oform13.DataGridView1.Columns(i).SortMode = DataGridViewColumnSortMode.NotSortable
        Next i
        MyConnection.Close()
    Catch ex As Exception
        MsgBox(ex.Message.ToString)
    End Try
    Me.Close()

введите описание изображения здесь

инициализировать код компонента ниже:

_ Форма неполного зачисления 13 Наследует System.Windows.Forms.Form

'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
    Try
        If disposing AndAlso components IsNot Nothing Then
            components.Dispose()
        End If
    Finally
        MyBase.Dispose(disposing)
    End Try
End Sub

'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer

'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.  
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
    Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
    Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Form13))
    Me.Button2 = New System.Windows.Forms.Button()
    Me.ExportButton = New System.Windows.Forms.Button()
    Me.Button4 = New System.Windows.Forms.Button()
    Me.Button1 = New System.Windows.Forms.Button()
    Me.Button6 = New System.Windows.Forms.Button()
    Me.DataGridView1 = New System.Windows.Forms.DataGridView()
    Me.GroupBox2 = New System.Windows.Forms.GroupBox()
    CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).BeginInit()
    Me.GroupBox2.SuspendLayout()
    Me.SuspendLayout()
    '
    'Button2
    '
    Me.Button2.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
    Me.Button2.Location = New System.Drawing.Point(32, 34)
    Me.Button2.Name = "Button2"
    Me.Button2.Size = New System.Drawing.Size(301, 49)
    Me.Button2.TabIndex = 17
    Me.Button2.Text = "Export && Email This Sheet"
    Me.Button2.UseVisualStyleBackColor = True
    '
    'ExportButton
    '
    Me.ExportButton.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
    Me.ExportButton.Location = New System.Drawing.Point(427, 34)
    Me.ExportButton.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
    Me.ExportButton.Name = "ExportButton"
    Me.ExportButton.Size = New System.Drawing.Size(221, 47)
    Me.ExportButton.TabIndex = 20
    Me.ExportButton.Text = "Only Export Sheet"
    Me.ExportButton.UseVisualStyleBackColor = True
    '
    'Button4
    '
    Me.Button4.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
    Me.Button4.Location = New System.Drawing.Point(725, 34)
    Me.Button4.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
    Me.Button4.Name = "Button4"
    Me.Button4.Size = New System.Drawing.Size(306, 47)
    Me.Button4.TabIndex = 29
    Me.Button4.Text = "Error Notify Export && Email"
    Me.Button4.UseVisualStyleBackColor = True
    '
    'Button1
    '
    Me.Button1.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
    Me.Button1.Location = New System.Drawing.Point(1084, 34)
    Me.Button1.Name = "Button1"
    Me.Button1.Size = New System.Drawing.Size(223, 47)
    Me.Button1.TabIndex = 30
    Me.Button1.Text = "Back to Ground Floor"
    Me.Button1.UseVisualStyleBackColor = True
    '
    'Button6
    '
    Me.Button6.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
    Me.Button6.Location = New System.Drawing.Point(1514, 34)
    Me.Button6.Name = "Button6"
    Me.Button6.Size = New System.Drawing.Size(156, 47)
    Me.Button6.TabIndex = 31
    Me.Button6.Text = "Main Menu"
    Me.Button6.UseVisualStyleBackColor = True
    '
    'DataGridView1
    '
    Me.DataGridView1.AllowUserToAddRows = False
    Me.DataGridView1.AllowUserToDeleteRows = False
    Me.DataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill
    Me.DataGridView1.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells
    Me.DataGridView1.BackgroundColor = System.Drawing.SystemColors.Window
    Me.DataGridView1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
    Me.DataGridView1.ColumnHeadersHeight = 50
    DataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
    DataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window
    DataGridViewCellStyle1.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
    DataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText
    DataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight
    DataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText
    DataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
    Me.DataGridView1.DefaultCellStyle = DataGridViewCellStyle1
    Me.DataGridView1.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnKeystroke
    Me.DataGridView1.GridColor = System.Drawing.SystemColors.ActiveCaptionText
    Me.DataGridView1.Location = New System.Drawing.Point(16, 30)
    Me.DataGridView1.Name = "DataGridView1"
    Me.DataGridView1.RowHeadersWidth = 50
    Me.DataGridView1.RowTemplate.Height = 28
    Me.DataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.CellSelect
    Me.DataGridView1.Size = New System.Drawing.Size(1819, 853)
    Me.DataGridView1.TabIndex = 0
    '
    'GroupBox2
    '
    Me.GroupBox2.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
        Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
    Me.GroupBox2.AutoSize = True
    Me.GroupBox2.BackColor = System.Drawing.SystemColors.Control
    Me.GroupBox2.Controls.Add(Me.DataGridView1)
    Me.GroupBox2.Location = New System.Drawing.Point(25, 121)
    Me.GroupBox2.Name = "GroupBox2"
    Me.GroupBox2.Size = New System.Drawing.Size(1858, 912)
    Me.GroupBox2.TabIndex = 33
    Me.GroupBox2.TabStop = False
    Me.GroupBox2.Text = "CER Checklist"
    '
    'Form13
    '
    Me.AutoScaleDimensions = New System.Drawing.SizeF(12.0!, 25.0!)
    Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
    Me.AutoScroll = True
    Me.AutoSize = True
    Me.ClientSize = New System.Drawing.Size(1908, 1034)
    Me.Controls.Add(Me.GroupBox2)
    Me.Controls.Add(Me.Button6)
    Me.Controls.Add(Me.Button1)
    Me.Controls.Add(Me.Button4)
    Me.Controls.Add(Me.ExportButton)
    Me.Controls.Add(Me.Button2)
    Me.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
    Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D
    Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
    Me.Margin = New System.Windows.Forms.Padding(4)
    Me.MaximizeBox = False
    Me.Name = "Form13"
    Me.Text = "CER"
    CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).EndInit()
    Me.GroupBox2.ResumeLayout(False)
    Me.ResumeLayout(False)
    Me.PerformLayout()

End Sub
Friend WithEvents Button2 As Button
Friend WithEvents ExportButton As Button
Friend WithEvents Button4 As Button
Friend WithEvents Button1 As Button
Friend WithEvents Button6 As Button
Friend WithEvents DataGridView1 As DataGridView
Friend WithEvents GroupBox2 As GroupBox

Конец класса

К сожалению, опубликованный код работает должным образом. (Минус странный Close() в конце). Можно ли показать изображение того, что вы описываете («неправильно отрисовано»), вместе с кодом, который отображает форму с проблемной сеткой?

JohnG 27.03.2018 02:46

привет JohnG, добавил скриншот

shine 01.04.2018 08:08

Как я сказал в своем комментарии, «Покажите картинку того, что вы описываете вместе с кодом, который отображает форму»… где находится код конструктора Form13 (InitializeComponent)? Изображение выглядит так, как будто что-то лежит поверх сетки, однако это предположение, а не видение того, как дизайнер создает эти предметы. Вы должны посмотреть, как Как создать минимальный, полный и проверяемый пример.

JohnG 01.04.2018 16:53

Я добавил код компонента инициализации для form13, пожалуйста, посмотрите

shine 01.04.2018 20:31

К сожалению, этот код не воспроизводит проблему. Это сработало, как ожидалось. Кроме того, размещенный код не похож на опубликованное изображение. Опубликованное изображение и опубликованный код не совпадают. На опубликованной картинке должно быть что-то еще.

JohnG 01.04.2018 21:11

Привет, johnG, независимо от номера формы, проблема возникает у меня, как я уже сказал, во второй загруженной форме первая форма загружается нормально с dgview, но вторая форма (какой бы номер формы), в которой есть dgview, показывает проблема. поэтому в этом случае, например: form13 будет загружаться нормально, а затем я вернусь к form5, возникает проблема или наоборот, если я загружаю form5 с помощью dgview сначала все нормально, а затем загружаю form13, проблема возникает. надеюсь, я в состоянии объяснить. спасибо .. я попытался поставить кнопку обновления, это несколько устраняет проблему, но не полностью, и я не доволен этим решением, что-то связано с картой gfx?

shine 02.04.2018 00:32

Независимо от номера формы, я не могу воспроизвести то, что вы описываете из данного кода. Я предполагаю, что что-то упускаю, и продолжаю. Удачи!

JohnG 02.04.2018 03:40
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
0
7
56
0

Другие вопросы по теме