我有一个Windows窗体的按钮和datagridview。该项目包括一个工作数据库连接和LINQ to SQL类。我试图将datagridview绑定到LINQ to SQL。LINQ to SQL datagridview查询返回的长度,而不是值
代码模块中我有这样的:
Public Function DataGridList() As BindingSource
Dim NewBindingSource As New BindingSource()
Dim db As New DataClasses1DataContext()
NewBindingSource.DataSource = _
From Block In db.BLOCK_ASSIGNMENTs
Where Block.gr912_school = "Franklin"
Select Block.gr6_school Distinct
Return NewBindingSource
End Function
而在此形式的代码button_click:
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
DataGridView1.DataSource = DataGridList()
End Sub
当我按一下按钮,我得到了学校名称的长度datagridview,列标题为“length”。
如果我只是运行在button_click此非常类似的代码,而不是,学校名称正确地显示在即时窗口:
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim db As New DataClasses1DataContext()
Dim TestQuery =
From Block In db.BLOCK_ASSIGNMENTs
Where Block.gr912_school = "Franklin"
Select Block.gr6_school Distinct
For Each block In TestQuery
Debug.Print(block)
Next
End Sub
是的!谢谢。这工作比我的解决方案更快,也适用于我尝试使用“Contains”在SQL中复制“IN”子句。我曾看过“New With”构建,但不能一起破解任何东西。你可以谈谈它在做什么吗? – 2012-08-02 18:11:45
当然可以。我为你添加了一些解释。 – JamieSee 2012-08-03 15:41:06
感谢您的解释。实际上我确实需要更多的专栏,我担心这会很棘手。但是,正如你所说,我只是在其中添加了其他五个领域,而且效果很好。我喜欢这个LINQ to SQL的东西,但似乎有很多方法来完成任何给定的任务。谢谢你向我展示了一个很好的! – 2012-08-03 16:11:11