Readdy Write  
0,00 €
Your View Money
Views: Count
Self 20% 0
Your Content 60% 0

Users by Links 0
u1*(Content+Views) 10% 0
Follow-Follower 0
s2*(Income) 5% 0

Count
Followers 0
Login Register as User

Daten-Grid laden in C#. Beispiel hier in WinForms, VSTO Add-in

24.10.2018 (👁17100)


Wie füllt man ein Datengrid in Windows zur Laufzeit in C#

Gezeigt wird ein Word Add-in, welches Daten aus Excel anzeigen soll und eine Auswahl zulassen soll.

In einem Word-Addin als Ribbonbar werden zusätzliche Elemente in der Regel als Windows Forms Element hinzugefügt.

Bei einem DatenGrid handelt es sich zunächst ebenfalls um ein DataGridView. Das Füllen eines Datengrids ist in Winforms und WPF ähnlich.

Betrifft:

VSTO Addin, Windows Forms Formular, WinForm, DataGridView, DataGridViewRow

Dynamisches Laden eines DataGridView zur Laufzeit. Programmatically loading a Grid

 

Daten-Grid mit C# geladen.

Hier in Word-Addin. Beim Klick auf einen Ribbonbar Button wird ein Form-Dialog Fenster geöffnet mit einer Datentabelle.

 

1

2

3

4

5

 

11

22

33

44

55

 

111

222

333

444

555

Design-View des Formulars

Das Formular in VSTO Addin wird als Windows Forms Formular geladen.

Das Datengrid wird zunächst über den Design-Editor in das Formular gezogen.

Daten-Grid füllen

DataGridView

Einstellen des DataGridViews

Spalten hinzufügen

Im ersten Schritt werden per programm die Spalten hinzugefügt zur Laufzeit

            dataGrid_Excel.Columns.Add("column_01""A");

            dataGrid_Excel.Columns.Add("column_02""B");

            dataGrid_Excel.Columns.Add("column_03""C");

            dataGrid_Excel.Columns.Add("column_04""D");

            dataGrid_Excel.Columns.Add("column_05""E");

 

Die einzelnen Daten-Reihen können im Beispiel 1 direkt als Texte hinzufügt werden

dataGrid_Excel.Rows.Add("111","222""333""444""555");

Beim Arbeiten mit dynamischen Daten kann man die Parameter als Variablen übergeben

dataGrid_Excel.Rows.Add(cell_Values[0],cell_Values[1], cell_Values[2], cell_Values[3], cell_Values[4]);

 

frmExcel_Data.cs

Programmierung des DataGridView

using System;

 

using System.Windows.Forms;

using Excel = Microsoft.Office.Interop.Excel;

 

namespace addin_Excel_01

{

    public partial class frmExcel_Data : Form

    {

        public frmExcel_Data()

        {

            InitializeComponent();

        }

 

        private void frmExcel_Data_Load(object sender, EventArgs e)

        {

            //-----------------< load_Excel() >-----------------

            dataGrid_Excel.AllowUserToAddRows = false;

 

            //--< define Columns >--

            dataGrid_Excel.Columns.Add("column_01""A");

            dataGrid_Excel.Columns.Add("column_02""B");

            dataGrid_Excel.Columns.Add("column_03""C");

            dataGrid_Excel.Columns.Add("column_04""D");

            dataGrid_Excel.Columns.Add("column_05""E");

            //--</ define Columns >--

 

 

            //----< DataRow1 >----

            //--< get Values >--

            String[] cell_Values = new String[5];

            cell_Values[0] = "1";

            cell_Values[1] = "2";

            cell_Values[2] = "3";

            cell_Values[3] = "4";

            cell_Values[4] = "5";

            //--</ get Values >--

 

 

            //-< add_Data_Row >-

            //< add >

            int iRow = dataGrid_Excel.Rows.Add(new DataGridViewRow());

            DataGridViewRow row = dataGrid_Excel.Rows[iRow];

            //</ add >

            //< fill >

            row.Cells[0].Value = cell_Values[0];

            row.Cells[1].Value = cell_Values[1];

            row.Cells[2].Value = cell_Values[2];

            row.Cells[3].Value = cell_Values[3];

            row.Cells[4].Value = cell_Values[4];

            //</ fill >

            //-</ add_Data_Row >-

            //----</ DataRow1 >----

 

 

            //----< DataRow2 >----

            //--< get Values >--

            cell_Values = new String[5];

            cell_Values[0] = "11";

            cell_Values[1] = "22";

            cell_Values[2] = "33";

            cell_Values[3] = "44";

            cell_Values[4] = "55";

            //--</ get Values >--

 

            //-< add >-

            dataGrid_Excel.Rows.Add(cell_Values[0],cell_Values[1], cell_Values[2], cell_Values[3], cell_Values[4]);

            //-</ add >-

            //----</ DataRow2 >----

 

 

            //----< DataRow3 >----

            //-< add >-

            dataGrid_Excel.Rows.Add("111","222""333""444""555");

            //-</ add >-

            //----</ DataRow3 >----

 

 

            //-----------------< load_Excel() >-----------------

        }

    }

}

 

Aufruf Formular

Das Formular wird aufgefufen mit der Formular-Bezeichnung unter dem VSTO Addin Projekt

frmExcel_Data frm = new frmExcel_Data();

frm.Show();

In der Ribbonbar wird das Windows Forms Formular durch .Show() aufgerufen und kann dann wie ein vollwertiges Windows Forms Formular mit allen Windows Funktionen arbeiten

Winforms