Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    125

    Lettura e creazione dinamica tabella da db

    Come faccio tramite DATAGRID a crearmi una tabella che sia poi anche modificabile (e fin qui ci sono),
    senza specificare il nome di tutti i campi, ovvero utilizzando qualcosa di simile al RecordSet.Fields(i).Name del vecchio asp, in modo da costruirmi in modo dinamico la mia tabella senza specificare nel codice i nomi dei campi della tabella del db.
    Grazie

  2. #2

    Re: Lettura e creazione dinamica tabella da db

    Originariamente inviato da lodo75
    Come faccio tramite DATAGRID a crearmi una tabella che sia poi anche modificabile (e fin qui ci sono),
    io invece mi sono gia' perso
    ...utilizzando qualcosa di simile al RecordSet.Fields(i).Name del vecchio asp, in modo da costruirmi in modo dinamico la mia tabella senza specificare nel codice i nomi dei campi della tabella del db.
    Non ho ben capito la domanda. Comunque, per creare una datatable basta fare qualcosa di simile a
    codice:
    dim m_dt as new datatable("nometabella")
    per aggiungere colonne alla datatable
    codice:
    m_dt.columns.add("nomecolonna")
    dopo il nomecolonna puoi specificare il tipo di dati che conterra' se non lo fai e' di tipo text.
    Se vuoi creare colonne in un ciclo "dinamico" basterebbe mettere dentro il ciclo appunto il codice su indicato e sostituire al nomecolonna un numero progressivo (se non ho capito male la richiesta).
    Per accedere alle colonne una volta create puoi usare l'indice oltre che il nome della colonna stessa
    codice:
    m_dt(1) = "ciccio"
    corrisponde alla seconda colonna della collection columns della datatable m_dt. Cosi come puoi ottenere il nome della colonna sapendo il suo indice
    codice:
    var = m_dt.Columns(i).ColumnName
    Saluti a tutti
    Riccardo

  3. #3
    non sono sicuro di aver ben capito...ma se così fosse dovrebbe bastarti mettere nelle proprietà del datagrig

    AutoGenerateColumns="true"

    se ho capito male scusa
    "...non è detto che sia tardi se non guardi che ora è..."

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    125
    Semplicemente volevo sapere a cosa corrisponde in .net il comando NomeRecordSet.Fields(i).Name di asp

  5. #5
    Se utilizzi un DataReader come fonte dati puoi fare:
    codice:
    reader("nome_campo").ToString()
    Se utilizzi un dataset:
    codice:
    tuoDataSet.Tables("nome tabella").Rows(numero rows)("nome campo").ToString()
    Ciao
    AZ [Microsoft - .NET MVP]
    Mia Home page: http://ciclismo.sitiasp.it
    Asp.Net community: http://www.aspitalia.com
    Il mio blog: http://blogs.aspitalia.com/az

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    125
    scusate ho appena iniziato a sviluppare in aspx e non mi trovo ancora molto; la mia necessità è questa:

    Costruire un controllo DataGrid modificabile, costruito , però in modo dinamico, ovvero:
    non vincolato a una specifica tabella del db, ma utilizzabile con una qualsiasi tabella il cui nome viene magari passato come parametro

    Se avete un esempio o qualche dritta. Grazie

  7. #7
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    Come ti ha suggerito Raffa62 utilizzi autogeneratecolumns = true, nella query imposti il nome delle colonne:
    Select id_colonna as Colonna from tabella.... e quando visualizzi la griglia avrai una colonna che si chiamerà "Colonna".
    Se invece vuoi un controllo completamente riutilizzabile devi dare un'occhiata ai controlli personalizzati.
    Se però come hai precedentemente detto sei agli inizi, forse è un po' presto e magari dovresti fare ancora qualche prova con i controlli forniti da .net.
    Aggiungo anche che il mio non è un giudizio ma soltanto un consiglio.

    Legnetto

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    125
    Ok grazie funziona, ma in DataKeyField (che dovrebbe contenere il nome del campo chiave) come faccio ad inserire il nome del campo in modo dinamico, cioè farlo arrivare, per esempio, tramite variabile.

    Ovvero una cosa simile:

    Nomecampochiave = NomeTabella + "_CNT"

    DataKeyField = Nomecampochiave

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.