나는 이것을 계산하는 데 최악의 시간을 보내고 있습니다. 나는 아직 완전히 이해하지 못하는 MVVM을 사용해야하고 SQL의 데이터로 채워진 목록을 radGridView에 바인드해야한다. 충분히 쉬운 것 같은데 ... 그러나 나는 그것을 이해할 수 없다. 데이터가 표시되지 않고 잘못된 것으로 바인딩되어 있기 때문입니다. 아래는 관련 코드입니다. 어떤 도움을 주시면 감사하겠습니다!GridView를 목록에 바인딩하기
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>
'View'의'DataContext' 속성을 반드시'ViewModel'로 설정하십시오. offtopic :'sqlConnection'을 닫지 말아주세요. – Nogard
'while'loop이 이상하게 보입니다. 테이블을 평평하게하여 목록에 올리시겠습니까? –
아마 이상한 하하지만, 아니야. 기본적으로 나는이 일을 어떻게해야하는지 까다 롭지 않습니다. MVVM을 사용하고 SQL의 데이터를 DataGrid에 저장하면됩니다. @ 노가 널 연결을 종료하라고 상기시켜 주셔서 감사 드리며 DataContext 속성을 설정했습니다. – JLott