Mario  Meir-HuberDynamisches füllen von Menüeinträgen in Office Ribbon (Excel)


Das Menü des Office Ribbons unterstützt auch eine Möglichkeit, Einträge dynamisch - also zur Laufzeit - zu laden. Hierfür muss die "Dynamic" Einstellung in Visual Studio (erreicht man durch Klick auf das Menü-Control am Ribbon - Eigenschaften) auf "True" gesetzt sein.

image

 

Um neue Einträge einzufügen, wird die "Items.Add" Methode verwendet. Wie dies genau aussehen kann, wird im folgenden Beispiel demonstriert. Hierbei wird eine SQL-Datenbank verwendet:

private void Menu_Load(object sender, RibbonUIEventArgs e)
{
    SqlConnection conn = new SqlConnection();
    SqlCommand command = new SqlCommand();
    SqlDataReader dreader;

    conn.ConnectionString = @"Data Source=mario-pc\sqlexpress;Initial Catalog=msdnbriefing;Integrated Security=True";
    conn.Open();

    command = new SqlCommand("SELECT name FROM dbo.customers", conn);

    dreader = command.ExecuteReader();

    while (dreader.Read())
    {
        RibbonButton button = new RibbonButton();
        button.Label = dreader.GetString(0);

        button.Click += new EventHandler<RibbonControlEventArgs>(button_Click);

        mnu_header.Items.Add(button);
    }

    dreader.Close();
    conn.Close();
}


Kategorien: .Net;C#;Office;VSTO; 21.06.2008 16:15:08


 


Neuen Kommentar einfügen:

  Titel:   
  Name:
  E-Mail:
  Kommentar:

 
 


Kommentare




© Copyright 2008 ppedv AG