【问题标题】:GridView never showsGridView 从不显示
【发布时间】:2012-10-04 11:22:36
【问题描述】:

使用 Oracle 数据库。我这辈子都不能让这个网格视图工作。我不知道为什么,但经过最后 6 个小时的连续调试,这让我失去了理智。

我的数据源设置如下:

<asp:sqldatasource runat="server" id="dsSearch"
ConnectionString="<%$ ConnectionStrings:OracleConnection %>" 

ProviderName= "<%$ ConnectionStrings:OracleConnection.ProviderName %>" 
CancelSelectOnNullParameter="False" 
SelectCommand="SELECT d.DVD_ID, d.DVD_TITLE, d.RENTAL_COST, r.RATING_NAME, g.GENRE_DESC, d.COVER_IMAGE FROM DVD d, DVD_GENRE t, GENRE g, RATING r WHERE d.DVD_ID = t.DVD_ID AND t.GENRE_ID = g.GENRE_ID AND d.RATING = r.RATING_ID ORDER BY lower(DVD_TITLE)" 
FilterExpression="{1} LIKE '&{0}&'">
<FilterParameters>
    <asp:ControlParameter ControlID="searchBox" DefaultValue=" " PropertyName="Text" />
    <asp:ControlParameter ControlID="swapList" DefaultValue="DVD_TITLE" PropertyName="SelectedValue" />
</FilterParameters>

</asp:SqlDataSource>

我要做的是从名为“SearchBox”的文本框和“SwapList”的下拉列表中创建一个搜索功能。我添加了一个过滤表达式(这是搜索逻辑),它查找输入到搜索框中的文本并在已选择的任何交换列表值的列中查找它。

我知道问题可能出在我的 gridview 代码上,所以我将在下面粘贴:

<asp:GridView ID="sGrid" runat="server" DataSourceID="dsSearch" 
    DataKeyNames="DVD_ID" AutoGenerateColumns="False">
    <Columns>
        <asp:BoundField DataField="DVD_ID" HeaderText="DVD_ID" ReadOnly="True" 
            SortExpression="DVD_ID" />
        <asp:BoundField DataField="DVD_TITLE" HeaderText="DVD_TITLE" 
            SortExpression="DVD_TITLE" />
        <asp:BoundField DataField="RENTAL_COST" HeaderText="RENTAL_COST" 
            SortExpression="RENTAL_COST" />
        <asp:BoundField DataField="RATING_NAME" HeaderText="RATING_NAME" 
            SortExpression="RATING_NAME" />
        <asp:BoundField DataField="GENRE_DESC" HeaderText="GENRE_DESC" 
            SortExpression="GENRE_DESC" />
        <asp:BoundField DataField="COVER_IMAGE" HeaderText="COVER_IMAGE" 
            SortExpression="COVER_IMAGE" />
    </Columns>
</asp:GridView>

【问题讨论】:

  • 我已经调整了你的标签,这与Oracle没有直接关系。
  • @slugster 啊太对了。谢谢!

标签: c# asp.net gridview datasource


【解决方案1】:

我认为你的过滤器表达式应该是这样的

FilterExpression="{1} LIKE '%{0}%'"

%替换&amp;

【讨论】:

  • 哇哦。太感谢了。 Shift + 7 绝对与 Shift + 5 不同 -_- 我是个傻瓜!再次感谢!
猜你喜欢
  • 1970-01-01
  • 2020-04-02
  • 2012-06-18
  • 1970-01-01
  • 2019-07-29
  • 2016-10-05
  • 2016-10-16
  • 2014-02-21
  • 1970-01-01
相关资源
最近更新 更多