【问题标题】:Fill Grid with single column from linq Query使用来自 linq Query 的单列填充网格
【发布时间】:2016-09-30 18:19:46
【问题描述】:

我想用我从 linq 查询中获得的信息填充数据网格。数据网格自动生成其列

使用 db 作为新的 DataClassesDataContext

        Dim fillGrid = From info In db.tableName
                       Select info.Description
        DataGrid1.DataSource = fillGrid
        DataGrid1.DataBind()
    End Using

此代码生成一个名为“长度”的列

如果我添加另一列进行选择,那么它会正确生成列,因为列表有 --> Description = "" : ID = ""

如何让 linq 生成单列的列名?

【问题讨论】:

    标签: vb.net linq datagrid


    【解决方案1】:

    当您的选择不是已知类型时,Linq to sql 会创建匿名类型。在您的情况下,它是字符串匿名类型的列表。 .net 上的绑定仅适用于属性,不适用于字段。所以字符串列表的默认属性是 Length 属性,用于。 相反,我建议您创建一个具有名为 description 的字符串属性的类,并选择作为此类对象:

    Public Class StringCollection
        Private _Description As String
        Public Property Description() As String
            Get
                Return _Description
            End Get
            Set(ByVal value As String)
                _Description = value
            End Set
        End Property
    End Class
    

    然后进行选择:

     Dim fillGrid = From info In db.tableName
                               Select New StringCollection With {.Description = info.Pershkrimi}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多