2011-08-03 4 views
0

J'ai dans mon application Winform un DataGridView et j'affiche les données de la classe DAL avec dataSet comme celui-cimise à jour datagridview dans l'application Winform

DataSet ds2 = DAL.Display_all(); 
dataGridView1.DataSource = ds2; 
dataGridView1.DataMember = "To_display"; 

Comment puis-je mettre à jour Retour mes données si Si quelqu'un modifie des données dans le gridView (j'ai besoin de revenir à la classe DAL)?

+0

Que faites-vous à DAL.Display_all()? Le jeu de données est automatiquement mis à jour avec DataGridView. – Wowa

+0

Je pense qu'il demande comment obtenir les lignes mises à jour et mettre à jour sa base de données? – Jethro

+0

J'ai une requête sql avec une connexion ouverte, et je retourne dataSet de la DAL, puis je fais le –

Répondre

0

essayez ceci:

dataGridView1.ResetBindings(); 

provoque un contrôle lié à BindingSource de relire tous les éléments de la liste et rafraîchir leurs valeurs affichées. MSDN

espérons cette aide.

0

Si vous parcourez chaque ligne du DataGridView, vous pouvez utiliser la méthode ci-dessous pour obtenir la valeur d'une colonne spécifiée sur une ligne spécifique.

private T GetDataGridViewTextBoxValue<T>(int rowIndex, string columnName) 
    { 
     try 
     { 
      return (T)Convert.ChangeType(dataGridViewImport.Rows[rowIndex].Cells[columnName].Value, typeof(T)); 
     } 
     catch (Exception e) 
     { 
      throw new InvalidOperationException(String.Format("Row : {0}, column : {1} could not be cast to {2}", rowIndex, columnName, typeof(T)), e); 
     } 
    } 

Et vous pouvez utiliser la méthode comme ceci.

for(int i=0;i< ds2.Tables[0].Rows.Count(); i++) 
{ 
    var column1 = GetDataGridViewTextBoxValue<string>(i, "column1"); 
    //Get the rest of the row values. 
    //In your DAL class you must have a Method that updates the row 
    //and then just pass in the values that you want. 
} 
1

utiliser la méthode DataAdapter.Update.

Passez le DataSet comme paramètre.

Vous pouvez utiliser DataSet.HasChanges pour voir si vous avez des modifications avant d'appeler la méthode de mise à jour.

Questions connexes