désolé de demander mais j'ai besoin d'aide. J'essaie de charger des données de ma datatable vers une grille de données wpf. Actuellement, je fais comme ça: XAMLComment charger correctement Sql Server 2016 dans un datagrid wpf?
<DataGrid Height="362" Width="auto" Name="grdAngebote" SelectionMode="Single" SelectionUnit="Cell" CanUserResizeColumns="True" CanUserReorderColumns="True" CanUserSortColumns="True"AlternatingRowBackground="LightGray" AlternationCount="2" RowEditEnding="grdAngebote_RowEditEnding"/>
cs
private void fillDatagrid()
{
sqlQuery = string.Empty;
using (sqlcon = new SqlConnection(sqlConString))
{
sqlQuery = "Select ID, Angebotsnummer, Kundenname, Bauvorhaben, KundenstatusID as 'Kundenstatus', AquisekanalID as 'Aquisekanal', Ansprechpartner, AusführungszeitraumID as 'Ausführungszeitraum/Quartal', Auftragssumme, Zuschlagswahrscheinlichkeit as '%', KalkSumme, AngebotsstatusID as 'Angebotsstatus', Absagegrund From Angebote;";
sqlcmd = new SqlCommand(sqlQuery, sqlcon);
sqlda = new SqlDataAdapter(sqlcmd);
dt = new DataTable("Angebote");
sqlda.Fill(dt);
grdAngebote.ItemsSource = dt.DefaultView;
string sum;
sum = getSum();
sqlcon.Close();
Summe.Content = sum;
}
}
Quelques informations supplémentaires:
private SqlConnection sqlcon;
private SqlCommand sqlcmd;
private SqlDataAdapter sqlda;
private DataTable dt;
Cela fonctionne pour moi, mais dans tous les exemples sur le i Internet voir qu'ils utilisent {Binding ...} pour voir si certaines données dans la grille ont changé ou quelque chose comme ça sinon il est très difficile d'obtenir par exemple changé les données d'une cellule et mettre à jour à ma base de données SQL Server. Donc, je voudrais mettre à jour mon programme et utiliser également des liaisons, mais comment?
Je serais reconnaissant pour toute sorte d'aide ou de conseils. Merci d'avance et bonne journée!
Un très grand sujet à couvrir . Jetez un oeil à la commande de relais: http://www.c-sharpcorner.com/UploadFile/20c06b/icommand-and-relaycommand-in-wpf/ La liaison dont vous parlez est la liaison à une propriété, que vous pouvez Puis, manipuler au besoin. – Leonidas199x
Vous n'avez pas besoin de lier si un objet possède une propriété ItemSource ou DataSource. – jdweng
merci les gars pour les réponses rapides! Je sais que ce sujet est assez gros. Donc, si je n'ai pas besoin de fixations, comment puis-je obtenir des valeurs modifiées, par exemple? après l'événement Roweditending? je l'ai essayé comme ceci: if (e.EditAction == DataGridEditAction.Commit) { Angebot a = new Angebot(); a = e.Row.Item en tant qu'Angebot; si (a! = Nul) { MessageBox.Show (a.Kundenname); } } Ai-je manqué quelque chose parce que mon objet est toujours NULL. –