开发者

ASPxGridLookup: automatically lookup for values from child tables

I have some troubles with ASPxGridLookup. For addition ASPxGridLookup in a detail we create a similar code

<dx:ASPxGridView ID="gvTable" ClientInstanceName="grid" runat="server" DataSourceID="dataSource"
        AutoGenerateColumns="false" Width="100%" KeyFieldName="ID">
        <Columns>
            <dx:GridViewCommandColumn VisibleIndex="0">
                <EditButton Visible="true" />
            </dx:GridViewCommandColumn>
            <dx:GridViewDataTextColumn FieldName="ID" Caption="ID" Name="ID">
            </dx:GridViewDataTextColumn>
            <dx:GridViewDataColumn FieldName="ItemID" VisibleIndex="2">
                <EditItemTemplate>
                    <dx:ASPxGridLookup ID="GridLookup" runat="server" SelectionMode="Single" DataSourceID="dataSource1"
                        KeyFieldName="ID" Width="250px" TextFormatString="{0}" MultiTextSeparator=", " Value='<%# Bind("ItemID") %>'
                        AutoGenerateColumns="true">
                        <GridViewProperties>
                            <Settings ShowFilterRow="True" /开发者_如何学C>
                        </GridViewProperties>
                    </dx:ASPxGridLookup>
                </EditItemTemplate>
            </dx:GridViewDataColumn>
            <dx:GridViewDataTextColumn FieldName="Title" Caption="Title" Name="Title">
            </dx:GridViewDataTextColumn>
        </Columns>
        <Settings ShowFilterRow="True" ShowFilterRowMenu="true" />
        <SettingsEditing PopupEditFormWidth="600px" />
    </dx:ASPxGridView>
    <asp:SqlDataSource ID="dataSource" runat="server" ConnectionString="<%$ ConnectionStrings:connectionString%>"
        SelectCommand="SELECT * FROM [Abbreviation]"></asp:SqlDataSource>
    <asp:SqlDataSource ID="dataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:connectionString%>"
        SelectCommand="SELECT * FROM [Item]"></asp:SqlDataSource>

For initialisation of combo box we're using the following code

 Value = ' <% # Bind ("ItemID") %>'

I have to generate the table and Lookup dynamically from program.

public class LookupTemplate : ITemplate { public ASPxGridLookup lookup { get; set; }

    public LookupTemplate(ASPxGridLookup lookup)
    {
        this.lookup = lookup;
    }


    #region Implementation of ITemplate

    public void InstantiateIn(Control container)
    {
        container.Controls.Add(lookup);
    }

    #endregion
}

I generate the table, add columns and into one of them I've to add my lookup.

GridViewDataColumn col = new GridViewDataColumn
              {
                  FieldName = field.Name,
                  Caption = field.Caption,
                  Name = field.Name
              };

  SqlDataSource sqlSource = new SqlDataSource("SELECT * FROM [Item]")
        {
            ID = "dataSource1";
        };


  dataSources.DataSources.Add(sqlSource);

  ASPxGridLookup lookup = new ASPxGridLookup
       {
           SelectionMode = GridLookupSelectionMode.Single,
               KeyFieldName = "ID",
                  AutoGenerateColumns = true
       };
    lookup.GridViewProperties.Settings.ShowFilterRow = true;
    lookup.TextFormatString = "{0}";
    lookup.Value = "Value='<%# Bind(\"ItemId\") %>'";

    LookupTemplate template = new LookupTemplate(lookup);
    col.EditItemTemplate = template;
    gvTable.Columns.Add(col);

When the user clicks on edit I get post-back event. I form all dynamically again and I do the sane actions (I bring all data in viewstate and then I take therefrom) But at opening of details combo box remains empty ( without value of a field from a line). If I try to open combo box - I'm receiving the necessary table.

How to bind value in ASPxGridLookup combo box?


It looks like you posted the same question in the http://community.devexpress.com/forums/t/102088.aspx thread. Since you are providing a sample project, I suggest that you forward this request to Support Team (because the http://community.devexpress.com/forums/ – is the Peer-to-Peer Support Forums for the DX users).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜