【问题标题】:.NET CF - DataGrid.DataSource - Get value using row no and property/column name.NET CF - DataGrid.DataSource - 使用行号和属性/列名获取值
【发布时间】:2018-01-02 20:11:02
【问题描述】:

使用 .NET Compact Framework (3.5),您可以将 DataGrid.DataSource 设置为多种不同类型的对象,例如 DataTable、IList、IEnumerable 等。

有没有办法获取数据源的行和属性/列名称的值?

例如像这样的方法

Function GetValue(rowIndex As Integer, memberPath As String) As Object

这需要在设置表格/列样式之前对 DataSource(无论类型)进行处理。

【问题讨论】:

    标签: c# .net vb.net datagrid compact-framework


    【解决方案1】:

    下面的代码返回一个对象:

    dtgBuscaProduto.DataSource = IEnumerableProduct.ToList();
    var value = dtgBuscaProduto[row, column];
    

    【讨论】:

    • 假设 dtgBuscaProduto 是一个数据表,如果数据源是一个 IEnumerable(of T),这将不起作用
    • 不,dtgBuscaProduto 是一个 DataGrid。就我而言,我将 IEnumerable 转换为数据源中的列表。代码已更新。
    • 这似乎对 .NET CF (3.5) 无效
    • 我正在使用带有 SDK windows Mobile 6.0 的 .NET CF (3.5)
    • 我的错误,但这仅在设置表格/列样式并使用列索引后才有效。如果我想按项目和成员名称(例如 row=1,member=Price)获取值,这是不合适的。我能看到的唯一方法是检查类型并为 IEnumerables 使用反射并转换数据表/集。
    猜你喜欢
    • 1970-01-01
    • 2021-09-30
    • 1970-01-01
    • 1970-01-01
    • 2011-10-02
    • 2023-03-07
    • 2021-04-03
    • 1970-01-01
    • 2011-09-17
    相关资源
    最近更新 更多