我是WPF的新手。
我正在尝试在尊重的文本框中退出所选gridview行的值。
在Windows应用程序中,我习惯这样做:
txtPartyCode=gv.SelectedRows[0].Cells[1].Value.ToString();
但我很困惑,如何用WPF做到这一点?
我试过了:
txtPartyCode.Text=gvCust.SelectedItem[0]
但是,红色工具提示出现在代码下方:can not apply index with [] to an expression of type object.
请帮帮我。如何用WPF做到这一点?
答案 0 :(得分:4)
这里我很困惑你的数据类型是什么。您要传递给datagrid的ItemsSource属性。
如果您是usnig DataTable并将其传递给datagrid,那么以下代码将适合您。
void dataGrid1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
DataRowView rowview = dataGrid1.SelectedItem as DataRowView;
if (rowview != null)
{
textbox1.Text= rowview.Row.ItemArray[0].ToString();
}
}
如果您使用Typed对象作为DataGrid的itemsSource属性,例如Employees列表。然后在这里你可以做什么。
Employee emp = dataGrid1.SelectedItem as Employee
if(emp !=null)
{
textBox1.Text = emp.Name;
}
答案 1 :(得分:1)
private void YourGridName_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e)
{
string fc = null;
foreach (var item in e.AddedCells)
{
fc =((System.Data.DataRowView(item.Item)).Row.ItemArray[0].ToString();
}
}
答案 2 :(得分:0)
您可以尝试为DataGrid SelectionChanged事件添加处理程序,如下所示:
private void dataGrid1_SelectionChanged(object sender, RoutedEventArgs e)
{
DataRowView rowview = gv.SelectedItem as DataRowView;
string textNeeded = rowview.Row[0].ToString();
}