WPF C#数据网格从SQL Server更新列
本文关键字:SQL Server 更新 网格 数据 数据网 WPF | 更新日期: 2023-09-27 18:24:58
我想将数据从SQL Management Studio获取到数据网格,但它不起作用。首先我有一门课:
个人
在那里我得到了firstName和secondName。
class Person
{
public string firstName { get; set; }
public string secondName { get; set; }
}
我已经创建了一个按钮,用于连接数据库,使用选择查询和刷新数据库。
string dbConnectionString = @"Data Source=Username'SQLEXPRESS;Initial Catalog=TestDatabase;Integrated Security=True";
SqlConnection con = new SqlConnection(dbConnectionString);
con.Open();
string sqllogin = "SELECT firstName,secondName FROM TestDatabase.[dbo].[Persons]";
SqlCommand cmd = new SqlCommand(sqllogin, con);
SqlDataReader reader = cmd.ExecuteReader();
List<Person> personList;
personList = new List<Person>();
while (reader.Read())
{
Person p = new Person();
p.firstName = reader.GetString(0);
p.secondName = reader.GetString(1);
personList.Add(p);
}
dataGrid.DataContext = personList;
XAML看起来是这样的:
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path=firstName}" Header="Name" MinWidth="100"/>
<DataGridTextColumn Binding="{Binding Path=secondtName}" Header="Second Name" MinWidth="100"/>
</DataGrid.Columns>
不幸的是,它没有起作用。知道我该怎么解决这个问题吗?此时此刻,当我点击按钮时,什么也没发生。
谨致问候。
您可以尝试将您的List切换到ObservableCollection并更改
dataGrid.DataContext = personList;
至
dataGrid.ItemSource = personList;
告诉我它是否有效,并且在您可以绑定Datagrid的itemsource以不创建新的ObservableCollection之后,直接添加您的"Person"。