61 messaggi dal 05 settembre 2008
Ciao amici del forum, ho la necessità di popolare un gridview mediante l'utilizzo di 3 SqlDataSource (ognuno attinge a dati diversi), che vado a bindare (non so se e' corretto dire cosi) al gridview in base alla selezione di 3 Button.

    protected void Button1_Click(object sender, EventArgs e)
    {
        GridView1.DataSource = SQLDS_CaricaGridViewLista1;
        GridView1.DataBind(); 
    }

    protected void Button2_Click(object sender, EventArgs e)
    {
        GridView1.DataSource = SQLDS_CaricaGridViewLista2;
        GridView1.DataBind(); 
    }

    protected void Button3_Click(object sender, EventArgs e)
    {
        GridView1.DataSource = SQLDS_CaricaGridViewLista3;
        GridView1.DataBind(); 
    }

Il gridview e' settato in modo che costruisce automaticamente le colonne e mostro il bottone di selezione.
Quando vado a selezionare la riga vorrei recuperare il SelectedValue ma siccome non ho settato alcun datakeynames mi da errore.
Considerando che ogni SQLDatasource possiede il proprio DataKeyNames, non lo posso settare direttamente al GridView in modalita' "grafica" ma credo che dovrei settarlo da codice prima del bind().
Come posso fare?
Grazie 1000. Marco
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
sì, la proprietà DataKeyNames ha un setter pubblico e la puoi impostare proprio come stai impostando il DataSource.

In questo caso, trattandosi di un array di stringhe, la imposterai così:

GridView1.DataKeyNames = new[] { "Campo1", "Campo2", "Campo3" };


ciao,
Moreno

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.