[Note: J'ai simplifié mon exemple pour plus de clarté]Mise à jour de mon datagridviewcomboboxcolumns de la table directement
Disons que j'ai une base de données SQLite avec deux tables: Articles et secteurs:
Articles:
id_items : INTEGER PRIMARY KEY
name_item : VARCHAR(...)
id_sector : INTEGER
Secteurs:
id_sector : INTEGER PRIMARY KEY
name_sector : VARCHAR(...)
J'ai actuellement un datagridview lié au éléments table. Il se nourrit bien, et la table affiche le secteur en tant que datagridviewcomboboxcolumns.
Ainsi, dans mon Winforms CustomControl, j'ai tout le chargement de données et de liaison qui se produit dans le procédé de charge():
colSector.DataSource = m_dataContext.SectorTable;
colSector.DisplayMember = "name_sector";
colSector.ValueMember = "id_sector";
ItemsGrid.DataSource = new DataView(m_dataContext.ItemsTable);
Les comboboxes de ma dataview sont bien chargés avec les données provenant des Secteurs tableau.
Je voudrais maintenant un bouton sur mon formulaire qui permettrait la création d'un nouveau secteur:
J'ai créé un txtbox (txtNewSector) et un bouton qui déclenche la création:
private void btnAddNewSector_Click(object sender, EventArgs e)
{
// Add new sector to db
m_dataContext.AddNewSector(newSectorName);
// refresh dataview so that comboboxes are updated with the new entry
???
}
Comment puis-je effectuer cette actualisation?
J'espère que le fait modifier la question plus claire, s'il vous plaît conseiller ....
meilleures salutations
pourrait-il que AddNewSector écrit à la base de données sans mettre à jour le contexte de données?Normalement, en se liant à un DataView, si un nouvel enregistrement est ajouté à la table sous-jacente, la grille des éléments doit être automatiquement mise à jour. –