【问题标题】:WPF Datagrid Get Selected ItemWPF Datagrid 获取所选项目
【发布时间】:2010-04-27 14:51:05
【问题描述】:

如何在 WPF 数据网格中获取所选项目?尝试了以下方法,但没有成功;

dataGrid1.CurrentCell.Item.ToString();
string[] strsplit = dataGrid1.SelectedValue.ToString().Split('+');
dataGrid1.SelectedCells[0].Item.ToString();
dataGrid1.CurrentItem.ToString();

dataGrid1.CurrentCell.Item.ToString();
dataGrid1.CurrentCell.Item.ToString();

【问题讨论】:

  • 我得到的值是 eobfrontend.ManageFormats+theformats 不是我要找的字段值。

标签: wpf datagrid c#-4.0


【解决方案1】:

我不确定我是否完全理解上面的示例代码。

第一个语句应该做什么?单独它不会做任何事情。

你是否尝试过获取选择的值。

var myValue = dataGrid1.SelectedItems[0].ToString();  // I'm not sure what type you expecting It looks like a string.

编辑: DataGrid 设置为什么选择模式?如果它被延长,那么我希望上面的工作。如果设置为单一模式。

var myValue = dataGrid1.SelectedItem[0].ToString();

编辑2: DataGrid 中有哪些类型的对象?你在选择什么?

【讨论】:

  • 无法访问 Value 属性,我在编译时收到此错误错误 2 'object' does not contain a definition for 'Value' and no extension method 'Value'接受第一个参数类型'可以找到对象'(您是否缺少 using 指令或程序集引用?)
  • 你说得对,SelectedItem 没有“值”属性。我更改了上面的代码以反映这一点。我无权使用编译器来测试任何东西,但我认为 SelectedItems 是您想要使用的。这将选择项目(行、对象、任何),您将根据它的类型访问它。
  • @wonea:正在选择什么类型的对象?他们是不是一些特殊的类,它是一个列表,它是什么类型?
  • 您的第二个示例不应作为集合访问。这是一个单品。
  • 对不起,让电线交叉了。只是我已经尝试过您复制的代码,但我得到了命名空间、函数,然后是列标题 thefrontend.ManageFormats+theformats 我使用枚举类填充数据网格。
【解决方案2】:

找到了一种基于线条创建对象的方法。然后可以直接访问数据网格中的字段。

   theformats lineobject = (theformats)groups_dataGrid1.CurrentCell.Item;
   string linetext = lineobject.theformat.ToString();

【讨论】:

    【解决方案3】:
    DataRowView myRow = (DataRowView)dataGrid.CurrentCell.Item;
    string myvalue = Convert.ToInt32(linha.Row.ItemArray[0].ToString());
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-20
      • 1970-01-01
      相关资源
      最近更新 更多