Je suis le pire moment de comprendre cela. Je dois utiliser MVVM que je ne comprends pas encore complètement et lier une liste remplie de données de SQL à un radGridView. Cela semble assez facile ... mais je ne peux pas le comprendre. Les données ne s'affichent pas et je pense que c'est parce que je les corrige. Voici mon code pertinent. Toute aide serait appréciée!Relier un GridView à une liste
C# (HistoryAuditLogViewModel.cs):
#region Private Fields
private DatabaseConnectionSetting dbSetting;
private string tableName = "Manufacturers";
private int primaryKeyID = 1;
private string entryID;
private string manufacturerID;
private string manufacturerName;
private string auditDate;
private string sqlLogin;
private string application;
private string dbConnectionKey = Alliance.Infrastructure.Common.DatabaseConnectionSetting.BACKFLOW_SCOPE_KEY;
#endregion
public void Load_Audit()
{
string strSQLconnection = (dbSetting.SqlConnectionString + "; User Id = " + dbSetting.SqlUserName + "; Password = " + dbSetting.SqlPassword + ";");
SqlConnection sqlConnection = new SqlConnection(strSQLconnection);
sqlConnection.Open();
SqlCommand sqlCommand = new SqlCommand("SELECT [EntryID], [AuditValue].value('(row/@ManufacturerID)[1]', 'int') as ManufacturerID, [AuditValue] .value('(row/@ManufacturerName)[1]', 'nvarchar(50)') as ManufacturerName, [AuditDate], [SqlLogin], [Application] from [Backflow].[dbo].[AuditLog] where (TableName = @tableName AND [EntryID] = @primarykey)", sqlConnection);
sqlCommand.Parameters.AddWithValue("@tablename", tableName);
sqlCommand.Parameters.AddWithValue("@primarykey", primaryKeyID);
SqlDataReader reader = sqlCommand.ExecuteReader();
List<String> dataList = new List<String>();
while (reader.Read())
for (int i = 0; i < reader.FieldCount; i++)
{
string rdr = reader[i].ToString();
dataList.Add(rdr);
}
}
XAML (HistoryAuditLogView.xaml):
<telerik:RadGridView Name="AuditGrid" ItemsSource="{Binding dataList}">
</telerik:RadGridView>
Assurez-vous de définir la propriété 'DataContext' de votre' View' sur votre 'ViewModel'. offtopic: ne pas oublier de fermer 'sqlConnection' – Nogard
Votre' while'loop semble étrange. Voulez-vous aplatir votre table à la liste? –
Il est probablement étrange haha mais, non. Fondamentalement, je ne suis pas difficile sur la façon dont cela doit être fait. Je dois juste utiliser MVVM et mettre les données de sql dans un DataGrid. @Nogard merci de me rappeler de fermer la connexion et j'ai le jeu de propriétés DataContext. – JLott