c# - DevExpress gridView 数据源

标签 c# asp.net entity-framework gridview devexpress

我正在使用 Entity Framework 开发 ASP Web 表单项目。我有两个实体(用户和角色),我想实现以下行为: gridView 必须显示一个用户的角色。 到目前为止我所做的是显示所有角色。

<dx:ASPxGridView ID="grid"  runat="server" Width="100%" AutoGenerateColumns="False" ClientInstanceName="grid" 
    KeyFieldName="Id" OnDataBinding="grid_DataBinding" DataSourceID="RoleDataSource" EnableTheming="True" Theme="BlackGlass">
    <ClientSideEvents RowDblClick="function(s, e) {
        s.StartEditRow(e.visibleIndex);}" />
    <Columns>
        <dx:GridViewDataTextColumn Caption="ID" FieldName="Id" VisibleIndex="0">
            <EditFormSettings  Visible="false"/>
        </dx:GridViewDataTextColumn>
        <dx:GridViewDataTextColumn Caption="Role Name" FieldName="name" VisibleIndex="1" >
        </dx:GridViewDataTextColumn>


    </Columns>
    <SettingsBehavior AllowFocusedRow="true" AllowSelectByRowClick="True" AllowSelectSingleRowOnly="True" ConfirmDelete="True" />

        <SettingsEditing Mode="PopupEditForm"/>

        <SettingsText CommandUpdate="Ajouter/Modifier" PopupEditFormCaption="Ajouter/Modifier" />
        <SettingsPopup>
            <EditForm AllowResize="True" HorizontalAlign="Center" />
        </SettingsPopup>
    </dx:ASPxGridView>

<asp:EntityDataSource ID="RoleDataSource" runat="server" ConnectionString="name=AccountModelContainer" 
    DefaultContainerName="AccountModelContainer" EntitySetName="RoleSet" EnableDelete="True" EnableInsert="True" EnableUpdate="True">
</asp:EntityDataSource>

感谢您的帮助。

最佳答案

您应该使用the Where property您的 EntityDataSource 的。

您可以将这样的属性添加到 EntityDataSource 声明中:

Where="name = @name"

(或者您可能会过滤“ID”,以适合您的应用程序为准)

然后添加WhereParameters EntityDataSource 内的标记部分:

<WhereParameters>
    <asp:ControlParameter ControlID="userNameTB" DbType="String" 
        DefaultValue="testUser" Name="name" PropertyName="Text" />
</WhereParameters>

请注意,此示例假设您有一个名为“userNameTB”的文本框,其中包含您要过滤的用户名。但是,您可以使用 the <asp:Parameter> controls 中的任何一个:

  • 控制参数
  • 表单参数
  • session 参数
  • 路由参数
  • Cookie参数
  • 查询字符串参数
  • 配置文件参数

所以你的最终代码看起来像这样:

<asp:EntityDataSource ID="RoleDataSource" runat="server" ConnectionString=""
    name=AccountModelContainer" DefaultContainerName="AccountModelContainer" 
    EntitySetName="RoleSet" EnableDelete="True" EnableInsert="True" 
    EnableUpdate="True" Where="name = @name">
    <WhereParameters>
        <asp:ControlParameter ControlID="userNameTB" DbType="String" 
            DefaultValue="testUser" Name="name" PropertyName="Text" />
    </WhereParameters>

关于c# - DevExpress gridView 数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21406604/

相关文章:

c# - 从时间中删除前导零以显示耗时

asp.net - EF中的连接模型和断开模型

c# - 提供 IDbContextFactory 的实现。但是哪里?

c# - 使用 Entity Framework 从数据库填充列表框

c# - 我可以在 Rhino Mocks 中设置当 AssertWasCalled 失败时显示一条用户友好的消息吗?

c# - 从 C# 桌面应用程序获取 Arduino Uno Controller 的唯一标识值

c# - Blazor UI 锁定

c# - 如何使 asp Validator 通过 jQuery/javascript 验证

asp.net - https 请求在 Windows Azure 中不起作用

C# 使用HttpContext.Current.Request 在手机浏览器上请求时无法获取QueryString e