[英]How to display info from dataGrid by Selected the Row and show it to its box in C# WPF
问题:无法从数据网格检索ID,名称和图像到其框。
我尝试了下面的代码,如何通过从dataGrid中进行选择来在其框上显示ID,名称和图像,尤其是已作为字节保存在数据库中的图像。
private void Personlist_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
DataGrid gd = (DataGrid)sender;
DataRowView row_selected = gd.SelectedItem as DataRowView;
if (row_selected != null)
{
IDtextbox.Text = row_selected["Id"].ToString();
Nametextbox.Text = row_selected["Name"].ToString();
***// i need here to write a row for image.***
}
}
使用SelectionChangedEventArgs e检索选定的项目。
有一个名为“ AddedItems”的成员。
-如果是单选,则始终保留当前选中的一项。
-在多选的情况下,它包含那些当前添加到DataGrid选择中的项目。
因此,您的代码可能看起来像这样:
private void DataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (e.AddedItems != null && e.AddedItems.Count > 0)
{
DataRowView row_selected = e.AddedItems[0] as DataRowView;
if (row_selected != null)
{
IDtextbox.Text = row_selected["Id"].ToString();
Nametextbox.Text = row_selected["Name"].ToString();
}
}
}
您的DataGrid是否充满了一些数据?
您可以在应用的构造函数中使用一些调试数据,例如
DataTable dt = new DataTable();
dt.Columns.Add("Id");
dt.Columns.Add("Name");
dt.Columns.Add("Pic");
DataRow dr = dt.NewRow();
dr["Id"] = "1";
dr["Name"] = "You";
dr["Pic"] = "0x5234265";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Id"] = "2";
dr["Name"] = "Me";
dr["Pic"] = "0x000202";
dt.Rows.Add(dr);
theDataGrid.ItemsSource = dt.DefaultView;
也许您可以发布更多代码,因为我仍然无法弄清楚,您的问题实际上是关于什么的?
通常,WPF绑定会更好地用数据填充UI元素。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.