繁体   English   中英

如何通过选择行从dataGrid显示信息并将其显示在C#WPF中

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM