Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    c# creazione di un pop-up menu

    Ciao a tutti, sto sviluppando un'applicazione in c# e volevo sapere se qualcuno ha a portata di mano codici o dispense on-line per creare un pop-up menu su un data grid...

    codice:
    private void loadDB()
            {
    
                try
                {
    
                    // Create a SqlCommand to retrieve Suppliers data.
                    SqlCommand sc = new SqlCommand();
                    sc.Connection = DbConn.sqlConn;
                    sc.CommandType = CommandType.Text;
    
                    
                    sc.CommandText = " qui c'è la mia select sql",
    
                    // Set the SqlDataAdapter's SelectCommand.
                    adapter.SelectCommand = sc;
    
                    // Populate a new data table and bind it to the BindingSource.
                    DataTable table = new DataTable();
                    table.Locale = System.Globalization.CultureInfo.InvariantCulture;
                    adapter.Fill(table);
    
                    bindingSource1.DataSource = table;
    
                    DataGridViewTextBoxColumn idCountry = new DataGridViewTextBoxColumn();
                    idCountry.HeaderText = "Country ISO";
                    idCountry.DataPropertyName = "id_country_iso";
                    idCountry.Name = "id_country_iso";
                    dataGridView1.Columns.Add(idCountry);
    Io dovrei associare a idCountry(che è una text box) un pop-up.


    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    37
    per popup interndi un form che si apre dato un determinato evento? se si:

    erediti la classe DataGridViewTextBoxCell, fai un override di un metodo che genera un evento (ad esempio OnDoubleClick ) e al suo interno imposti l'apertura del tuo bel form.
    poi imposti come CellTemplate della colonna la tua classe creata.

    potrebbe esserti utile anche crearti una classe derivata da DataGridViewTextBoxColumn che imposta eventuali "parametri" della cella.
    Non dimenticare che se aggiungi proprietà alla classe base devi fare un override del metodo Clone() perchè se no non verranno valorizzate quando vengono clonate.

    esempio del override del metodo clone:
    codice:
    public override object Clone()
            {
                TuaClasseDerivata obj = base.Clone() as TuaClasseDerivata;
                obj.TuaProprieta = this.TuaProprieta;
                return obj;
            }

  3. #3
    Grazie, ma per popup intendo un menu come quello che puoi visualizzare premendo il tasto destro su questo form.
    Ho provato con questa parte di codice ma il menu viene associato ad ogni cella, il mio scopo è associarla solo all'intestazione della cella.
    codice:
     
     private void AddContextMenu()
            {
                toolStripItem1.Text = "voce uno";
                toolStripItem1.Click += new EventHandler(toolStripItem1_Click);
                
                ContextMenuStrip strip = new ContextMenuStrip();
                
               
               foreach (DataGridViewColumnHeaderCell column in dataGridView1.Columns)
                {
                    column.ContextMenuStrip = strip;
                    column.ContextMenuStrip.Items.Add(toolStripItem1);   
                }
                
         }
    
            private void toolStripItem1_Click(object sender, EventArgs args)
            {
                Console.WriteLine("Fatto");
            }

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    37
    ok... un menu contestuale

    hai provato ad impostarlo nel HeaderCell della colonna?

  5. #5
    Infatti grazie sono riuscita impostandolo all'header cell proprio come hai detto tu.

    Ciao.

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    37
    Originariamente inviato da Paoletta_r
    Infatti grazie sono riuscita impostandolo all'header cell proprio come hai detto tu.

    Ciao.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.