gpt4 book ai didi

c# - 将 GridView 绑定(bind)到列表

转载 作者:行者123 更新时间:2023-12-03 10:53:41 26 4
gpt4 key购买 nike

我正在最糟糕的时候弄清楚这一点。我必须使用我还不完全理解的 MVVM,并将一个填充了 SQL 数据的列表绑定(bind)到 radGridView。听起来很容易......但我无法弄清楚。数据未显示,我认为这是因为我绑定(bind)错误。下面是我的相关代码。任何帮助,将不胜感激!

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>

最佳答案

完整的公共(public)属性(property)可能会对您有所帮助,请将其添加到您的 ViewModel 的根级别:

#region Private Fields
...
#region
#region Public Props

private List<String> _dataList;
public List<String> dataList
{
get{ return _datalist;}
set{_datalist = value;}
}

#region


public void Load_Audit()
{
dataList = new List<String>(); //then your code
//....
}

关于c# - 将 GridView 绑定(bind)到列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15115106/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com