【问题标题】:filtering data (.NET)过滤数据 (.NET)
【发布时间】:2011-07-27 21:52:46
【问题描述】:

我有一个 GridView,用户在其中选择一行,然后被带到一个 FormView,其中包含来自所选记录的更多数据。但是,过滤器表达式不起作用。这是我的 FormView 数据源:

<asp:AccessDataSource ID="adsCourse" runat="server" DataFile="~/App_Data/courseinfo.mdb"
    FilterExpression="prefix='{0}' AND course_number='{1}'" SelectCommand="SELECT * FROM [tableCourse]">
    <FilterParameters>
        <asp:ControlParameter Name="prefix" ControlID="GridView1" PropertyName="SelectedValue" />
        <asp:ControlParameter Name="course_number" ControlID="GridView1" PropertyName="SelectedValue" />
    </FilterParameters>
</asp:AccessDataSource>

如您所见,我试图从 GridView 控件中的选定行中获取前缀和 course_number。如果我只得到前缀,它可以工作,但它似乎无法得到其他任何东西。使用这两个参数,我的 FormView 只是显示为空白。有什么想法吗?

【问题讨论】:

    标签: asp.net ms-access gridview filter datasource


    【解决方案1】:

    我看到的 AccessDataSource 示例总是使用 ? 作为占位符,而不是 {0}

    <asp:AccessDataSource 
                ID="adsCourse" 
                runat="server" 
                DataFile="~/App_Data/courseinfo.mdb"
                FilterExpression="prefix = ? AND course_number = ?" 
                SelectCommand="SELECT * FROM [tableCourse]">
        <FilterParameters>
            <asp:ControlParameter Name="prefix" ControlID="GridView1" PropertyName="SelectedValue" />
            <asp:ControlParameter Name="course_number" ControlID="GridView1" PropertyName="SelectedValue" />
        </FilterParameters>
    </asp:AccessDataSource>
    

    【讨论】:

    • 嗯试过了,但它只是抛出一个错误说“无法解释令牌'?在第 10 位。”
    • @Sara,试试@prefix@course_number。那将是 sql server 的语法。
    猜你喜欢
    • 1970-01-01
    • 2018-08-10
    • 1970-01-01
    • 2015-01-02
    • 1970-01-01
    • 1970-01-01
    • 2010-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多