DataGridView - Excel

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von hirnwunde.

    DataGridView - Excel

    Hallo.

    Ich habe Probleme mit TextBoxen, die ich in ein importiertes DGV (von Excel) per Button einfügen möchte. Ich habe es bisher per BindingSource hinbekommen den Text, der im DGV steht in die Text Boxen zu schreiben.

    Kann mir jemand Helfen ?

    MfG
    Wenn Du Daten, die in einer Textbox stehen ins DataGridView eintragen willst,musst Du das in der zugewiesenen DataTable machen.

    Dort kannst Du Zeilen in Form von

    VB.NET-Quellcode

    1. MeineDataTable.Rows.Add(wert1, wert2, wert3, wertN)


    Wenn Du hingegen vorhanden Reihen bearbeiten möchtest,musst du dir die Zeilennummer heraussuchen (Stichwort: DataGridView.SelectedRows) und den Spaltennamen bzw. den Spaltenindex kennen.

    Siehe:
    msdn.microsoft.com/de-de/library/8bw9ksd6.aspx
    oder
    dotnetperls.com/dataset-vbnet


    Wenn Du aber etwas völlig anderes vorhast, bitte ich dich, dich etwas genauer zu erklären ;)
    Steht für "wert1, wert2, wert3, wertN", TextBox1.text etc ?

    Wenn ja funktioniert es nicht.

    Also ich habe ein Dataset, dass ich mit dem DataGridView gebunden habe. Dieses Dataset fülle ich mit der Exceltabelle.. jetzt möchte ich per TextBoxen dort etwas hinzufügen und das alles wieder abspeichern.

    Patty98 schrieb:

    Steht für "wert1, wert2, wert3, wertN", TextBox1.text etc ?

    Ja.

    VB.NET-Quellcode

    1. Dim MeinDataSet As New DataSet
    2. Dim MeineDataTable As New DataTable
    3. MeinDataSet.Tables.Add(MeineDataTable)
    4. MeineDataTable.Columns.Add("Col1", Type.GetType("System.Integer"))
    5. MeineDataTable.Columns.Add("Col2", Type.GetType("System.String"))
    6. MeineDataTable.Columns.Add("Col3", Type.GetType("System.String"))
    7. MeineDataTable.Rows.Add(1, "foo", "bar")


    Wie man Zeilen,Spalten und Zellen herausbekommt:
    msdn.microsoft.com/de-de/library/x8x9zk5a(v=vs.110).aspx

    Die DataTable wieder als Excel speichern geht mittels Interop. (siehe dotnetperls.com/excel-vbnet)
    Allerdings gibt es mit GemBox.SpreadSheet eine durchaus kompfortabelere Variante,Excel-Datei zu erzeugen.
    In dessen kostenlosen Version ist man aber auf 5 Tabellenblätter und max. 150 Zeilen je Tabellenblatt beschränkt.

    Aber ... soweit ich weis, gibt es doch auch die Möglichkeit, im DGV direkt zu editieren ...
    Versuch es doch mal wie hier: DataGridView Zelle in den EditMode versetzen
    Dann kannst Du dir vielleicht die Textbox-Geschichten sparen

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „hirnwunde“ ()