首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EntityDataSource过滤

EntityDataSource过滤
EN

Stack Overflow用户
提问于 2014-10-03 06:36:35
回答 2查看 192关注 0票数 0

这有点痛苦,我觉得这应该很容易。

我有一个这样的EntityDataSource:

代码语言:javascript
复制
<asp:EntityDataSource ID="TaskDataSource" runat="server" ConnectionString="name=ScheduleEntities" DefaultContainerName="ScheduleEntities" EnableFlattening="False" EntitySetName="TaskItems" EnableInsert="True" EnableUpdate="True" OrderBy="it.Duration" Where="it.deleted = False">

我无论如何也不能让它只显示未删除的结果。OrderBy运行正常,一切正常……我就是不能让它过滤掉。

EN

回答 2

Stack Overflow用户

发布于 2014-10-03 15:22:52

您需要在EntityDataSource中将AutoGenerateWhereClause属性设置为true,

代码语言:javascript
复制
<asp:EntityDataSource ID="TaskDataSource" runat="server" ConnectionString="name=ScheduleEntities" DefaultContainerName="ScheduleEntities" EnableFlattening="False" EntitySetName="TaskItems" EnableInsert="True" EnableUpdate="True" OrderBy="it.Duration" Where="it.deleted = False" AutoGenerateWhereClause="true">
票数 0
EN

Stack Overflow用户

发布于 2014-10-03 20:45:02

我用UI中的过滤器制作了一个linqDataSource,并采用了过滤器格式,下面是代码:

代码语言:javascript
复制
<asp:EntityDataSource ID="TaskDataSource" runat="server" ConnectionString="name=ScheduleEntities" DefaultContainerName="ScheduleEntities" EnableFlattening="False" EntitySetName="TaskItems" EnableInsert="True" EnableUpdate="True" OrderBy="" Where="deleted == @deleted">
    <WhereParameters>
        <asp:Parameter DefaultValue="False" Name="deleted" Type="Boolean" />
    </WhereParameters>
</asp:EntityDataSource>

但是,我不能最终使用它,因为我还需要在网格上使用动态过滤器,所以我的变通方法是在绑定过程中隐藏行(如果有更有效的方法,请更新我!)有了这个:

代码语言:javascript
复制
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
{
    var editItem = e.Item as GridEditFormItem;
    if (e.Item is GridDataItem && !e.Item.IsInEditMode)
    {
        GridDataItem item = (GridDataItem)e.Item;
        bool success,deleted;
        bool.TryParse(item["deleted"].Text, out success);
        if (success)
        {
            deleted = bool.Parse(item["deleted"].Text);
            if (deleted)
            {
                item.Display = false;
            }
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26170725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档