2015-07-11 31 views
2

我试图从SQLDataSource筛选数据POSTCODE_Data通过文本框名称PostCode1如何筛选来自SQLDataSource的数据

我这样做是通过使用.Rowfilter属性,但它不起作用。结果,POSTCODE_Data仍未被过滤。

我需要做些什么才能获得理想的效果?

Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    Dim dv As DataView 
    Dim recPostDes As String 
    Dim recMiles As Integer 
    dv = CType(POSTCODE_Data.Select(DataSourceSelectArguments.Empty), DataView) 
    dv.RowFilter = "POSTCODE = '" & PostCode1.Text & "%'" 
    recPostDes = CType(dv.Table.Rows(0)(3), String) 
    recMiles = CType(dv.Table.Rows(0)(5), Integer) 
    If recMiles > 0 Then 
     Des1.Text = recPostDes 
     Mile1.Text = recMiles 
    End If 
End Sub 

回答

0

首先,它看起来像你想创建一个​​表达。如果是这样,改变=Like

dv.RowFilter = "POSTCODE Like '" & PostCode1.Text & "%'" 

数据视图
“代表用于分选,筛选,搜索,编辑和导航databindable,定制的DataTable的图。该数据视图不存储数据,而是表示其相应DataTable的连接视图,对DataView数据的更改将影响DataTable,对DataTable数据的更改将影响与其关联的所有DataView。 - MSDN -

现在,这里是你的问题:你所访问的基础表(dv.Table)和的看法。

recPostDes = CType(dv.Item(0).Row.Item(3), String) 
recMiles = CType(dv.Item(0).Row.Item(5), Integer) 

或者

recPostDes = CType(dv(0)(3), String) 
recMiles = CType(dv(0)(5), Integer) 
+0

谢谢你这么多:) –