【问题标题】:DevExpress gridView Data Source [closed]DevExpress gridView 数据源 [关闭]
【发布时间】:2014-02-19 19:28:08
【问题描述】:

我正在使用实体框架开发 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>

感谢您的帮助。

【问题讨论】:

  • 你应该发布一些代码。

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


【解决方案1】:

您应该使用 EntityDataSource 的the Where property

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

Where="name = @name"

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

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

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

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

  • 控制参数
  • 表单参数
  • 会话参数
  • 路由参数
  • 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>

【讨论】:

  • 不客气,@Nabila!我很高兴能帮上忙 =)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-13
  • 1970-01-01
  • 2011-07-26
  • 1970-01-01
相关资源
最近更新 更多