Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di barnico
    Registrato dal
    Oct 2001
    Messaggi
    490

    [VB.NET]creare tabella su DataSet relativa ad un DataGridView

    spero di che il titolo non confondi, anche se non è molto chiaro;
    praticamente in un Form ho un DataGridView dove creo le colonne da codice, poi ho l'esigenza di inserire le righe chiamando un altro Form dove ci sono una serie di TextBox ed un pulsante Ok che quando viene cliccato inserisce i dati nel DataGridView come nuova riga, quando ho finito di inserire le righe, sul primo Form è presente un'altro pulsante salva che inserisce le varie riche del DataGridView in un DB Access, ho provato ha fare ciò creando dapprima un DataSet creando una tabella e associando la proprietà DataSoucrce del DataGridView al DataSet, ma questo non funziona l'errore e che non trova le colonne, il problema credo che sia naturalmente nella creazione della tabella associata al DataSet:
    codice:
    Dim dataSetItem As New DataSet()
    
    dataSetItem.DataSetName = "item"        
    'righeVoci referenzia il DataGridView 
    righeVoci.DataSource = dataSetItem.Tables("item")
    
    Dim riga As DataRow
            Try
                riga = dataSetItem.Tables("item").NewRow
                riga("Descrizione") = "prova"
                dataSetItem.Tables("item").Rows.Add(riga)
            Catch ex As Exception
                MessageBox.Show(ex.ToString)
            End Try

  2. #2
    Ciao.
    Faccio un pò fatica a capire bene quale sia il tuo vero problema.
    Sicuramente, comunque, sbagli concettualmente.
    Il Dataset è un mero contenitore di dati che rispecchia la struttura della tabella del DataBase e va trattato come tale.
    Se ho capito bene, tu inserisci nuove righe nel Dgv .... invece, dovresti inserirle nel Dataset .... il dgv avrà, come DataSource, la tabella del Dataset per il quale vuoi visualizzare i Dati.
    Le colonne, potrebbero anche autogenerarsi in funzione della struttura della tabella del Dataset.
    Rimango comunque a disposizione per ulteriori info.

    Facci sapere....
    Ciao

  3. #3
    Utente di HTML.it L'avatar di barnico
    Registrato dal
    Oct 2001
    Messaggi
    490
    il punto è questo, devo inserire delle righe in un DataGridView, quindi ho pensato di lavorare direttamente su un DataSet anziche direttamente sul DataGridView, solo che io ho creato il DataSet, è l'ho associato al DGV, ma come faccio ad avere nel DataSet la tabella contenente le colonne del DGV, visto che le colonne presenti nel DGV li creo dinamicamente, è in ogni caso i dati presenti nel DGV saranno poi salvati in diverse tabelle del DB?
    per adesso ho risolto +/- così?
    codice:
    'mi creo una DataTable
    Dim dt As New DataTable
    
    'Gli assegno un nome
    dt.TableName = "item"
    
    'l'aggiungo nel DataSet
    dataSetItem.Tables.Add(dt)
    
    'associo il DataSet al DataGridView
    contenitore.DataSource = dataSetItem.Tables("item"
    
    dt.Columns.Add("...")
    è una soluzione che può andare?

  4. #4
    Ciao.
    La soluzione potrebbe andare .... se solo riuscissi a capire quale è il tuo obbiettivo!!!
    Mi spiego meglio .... fai un miscuglio tra Dgv Dataset e tabella(suppongo del db).
    Chiariamo un'attimo i concetti.
    La tabella del Db è il vero archivio.
    Il DataGridView è la rappresentazione grafica dei dati.
    Il DataSet, invece, è (ma nel caso specifico mi verrebbe da dire ... "dovrebbe essere") la rappresentazione disconnessa della tabella del Db.
    Pertanto, non capisco la tua necessità di creare delle colonne(quindi modificare la struttura) a run-time quando, in realtà, la struttura del Dataset dovrebbe rispecchiare perfettamente la struttura della tabella.....(a meno che non si tratti di una "vista", ma in questo caso non avrebbe senso aggiungere dati).
    A questo punto, mi verrebbe da farti una domanda ..... in che modo persisti(salvi) i dati nel DataBase????
    Venendo al dunque, forse è meglio che ci fai capire un pò meglio lo scenario in cui ti trovi, in modo che, si possa ragionare, magari insieme, sulla tecnica più corretta da utilizzare.

    Facci sapere....
    Ciao

  5. #5
    Utente di HTML.it L'avatar di barnico
    Registrato dal
    Oct 2001
    Messaggi
    490
    ok andiamo con ordine;
    devo fare degli inserimenti nel db ma su più tabelle,
    per questo uso in un form un dgv per visualizzare i dati inseriti attraverso un'altro form, dove l'utente tramite una serie di TextBox inserisce i dati e cliccando su ok devo inserire i dati come una nuova riga nel dgv, finito di inserire i dati, l'utente clicca su salva e tutte le righe presenti nel dgv devono essere salvate come dicevo prima, nel db ma, i dati vengono salvati in tabelle diverse ossia i vari campi vengono divisi in più tabelle.

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.