【问题标题】:How to get value of each cell of Row datagridview selectedItem binded with a join of tables?如何获取与表连接绑定的 Row datagridview selectedItem 的每个单元格的值?
【发布时间】:2019-06-06 10:45:59
【问题描述】:

我正在尝试获取所选行中每个单元格的值,其中包含数据网格视图中的三个单元格

我试图将所选项目保存在 Ilist 中,但它得到了所有行,我不能
获取每个单元格

        IList rows = PlanDG.SelectedItems;      
        var h = rows[0];
        var hh = rows[1];
        var hhh = rows[2];

我希望得到每个单元格,但它给了我 var h 中的所有行

【问题讨论】:

  • 你分配的item source的类型是什么?
  • 都是字符串类型的......对不起,我的问题不是很清楚

标签: c# wpf linq datagridview


【解决方案1】:

您可以使用以下代码来实现。您也可以根据索引号访问一个单元格值

    IList rows = PlanDG.SelectedItems;      
    var h = rows[0].Cells[0];
    var hh = rows[1].Cells[0];
    var hhh = rows[2].Cells[0];

【讨论】:

    【解决方案2】:

    如果你想使用索引,你可以这样做

    DataRowView dataRow = (DataRowView)PlanDG.SelectedItem;
    string cellValue = dataRow.Row.ItemArray[0].ToString();
    

    如果您有类型,那么我建议将 SelectedItem 更改为该类型

    示例

    Factor row = PlanDG.SelectedItem as Factor;
    

    【讨论】:

    • 它给了我一个例外:无法将类型为“f__AnonymousType5`3[System.String,System.String,System.String]”的对象转换为类型“System.Data.DataRowView”。 '
    • 如果无法发布您的项目来源分配,请检查以下答案。我会改变我的答案。
    • 我的项目源与数据库中的三个不同的表绑定,每一列都是字符串......我希望这是你问题的答案
    • Linq Query .....var query = (from sc in cd.SubjectTeachers join s in cd.Subjects on sc.IdSubject 等于 s.Id join t in cd.Teachers on sc.IdTeacher 等于t.Id join b in cd.Branches on sc.IdBranch 等于 b.Id select new { t.NickName, s.Code, b.TypeOfBranch }).ToList(); PlanDG.ItemsSource = 查询;
    • 任何帮助。请?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多