我有一个GridView,我正在尝试根据面板中几个控件(主要是TextBoxes)的输入来设置过滤器。我在其他地方做过,没有我遇到困难的复选框,它工作得很好。但是现在,在这种情况下,我有一个为过滤器提供信息的复选框。
复选框如下所示:
<asp:CheckBox ID="TicketClosed_ChBox" runat="server" Width="25px" AutoPostBack="true"></asp:CheckBox>在数据例程的select语句中,我将其构建为:
AND (RTRIM(LTRIM(ISNULL(@TicketClosed, ''))) = '' OR TicketClosed LIKE '%' + @TicketClosed + '%') AND 然后,对于我在textbox控件中链接的DataSource,使用:
<asp:ControlParameter Name="TicketClosed" ControlID="TicketClosed_ChBox" Type="Boolean" ConvertEmptyStringToNull="true" />这样做的问题是,返回的结果是“数据类型varchar和bit在add运算符中不兼容”。
我尝试过将ControlParameter转换为Byte和其他几种类型,但仍然失败。我真的不知道为什么我不能让它飞起来。
有什么想法?
发布于 2018-01-17 10:41:31
如果我没记错的话,ConvertEmptyStringToNull只适用于字符串数据类型。checkbox将始终具有值,并且永远不会为NULL。尝试删除参数的这一部分,看看是否有效。
https://stackoverflow.com/questions/43331833
复制相似问题