0

aspx ページのコードの背後に、Datatable があります。

            Dim people As DataTable = New DataTable()

            people.Columns.Add("ID", System.Type.GetType("System.Int32"))
            people.Columns.Add("FirstName", System.Type.GetType("System.String"))
            people.Columns.Add("LastName", System.Type.GetType("System.String"))

            people.Rows.Add(10, "Merci", "Beaucoup")

そしてこれはGridViewData:(asp:GridViewではありません)

        Dim gvPeople As System.Windows.Forms.DataGridView = New DataGridView()


        gvPeople.AutoGenerateColumns = False

        'Set Columns Count
        gvPeople.ColumnCount = 3

        'Add Columns
        gvPeople.Columns(0).Name = "ID"
        gvPeople.Columns(0).HeaderText = "ID"
        gvPeople.Columns(0).DataPropertyName = "ID"

        gvPeople.Columns(1).Name = "FirstName"
        gvPeople.Columns(1).HeaderText = "FirstName"
        gvPeople.Columns(1).DataPropertyName = "FirstName"

        gvPeople.Columns(2).Name = "LastName"
        gvPeople.Columns(2).HeaderText = "LastName"
        gvPeople.Columns(2).DataPropertyName = "LastName"

ここでは、DataGridView のデータソースを DataTable に設定します。

        gvPeople.DataSource = people

を使用して DataGridView を Excel シートにインポートするとGembox.Spreadsheet、データのない DataGridView の headerText のみが表示されます。これはインポートコードです:

        DataGridViewConverter.ImportFromDataGridView(ws, gvPeople, New ImportFromDataGridViewOptions() With _
            {
               .ColumnHeaders = True,
               .StartRow = 8,
               .StartColumn = 0
             })

次のような複数のことを試しました:

  • .DataMemberを DataTable 名に設定します。gvPeople.DataMember=people.TableName

  • Refresh() または Update()割り当てた後の DataGridView .Datasource

注: これはではなくasp:GridViewDataGridViewあり、メソッドはありませんDataBind()

4

3 に答える 3