[CLOSED] Combobox in PropertyGrid

  1. #1

    [CLOSED] Combobox in PropertyGrid

    I have Combobox in PropertyGrid. Trying to add items to it, but nothing appears in combobox:
     <ext:PropertyGrid ID="pgDocumentProperties" runat="server" Width="250">
                                <Source>
                                    <ext:PropertyGridParameter Name="Document Type" Value="">
                                        <Editor>
                                            <ext:ComboBox ID="cbDocumentType" runat="server">
                                                <Store>
                                                      <ext:Store ID="cbDocumentTypeStore" runat="server" IDMode="Explicit">
                                                        <Reader>
                                                            <ext:ArrayReader>
                                                                <Fields>
                                                                    <ext:RecordField Name="Description" Mapping="Description" Type="String" />
                                                                    <ext:RecordField Name="Code" Mapping="Code" Type="String" />
                                                                    <ext:RecordField Name="ID" Mapping="ID" Type="int" />
                                                                </Fields>
                                                            </ext:ArrayReader>
                                                        </Reader>
                                                    </ext:Store>
                                                </Store>
                                            </ext:ComboBox>
                                        </Editor>
                                    </ext:PropertyGridParameter>
                                    <ext:PropertyGridParameter Name="Originator" Value="">
                                        <Editor>
                                            <ext:ComboBox ID="cbOriginator" runat="server">
                                                  <Store>
                                                      <ext:Store ID="cbOriginatorStore" runat="server" IDMode="Explicit">
                                                        <Reader>
                                                            <ext:ArrayReader>
                                                                <Fields>
                                                                    <ext:RecordField Name="Description" Mapping="Description" Type="String" />
                                                                    <ext:RecordField Name="Code" Mapping="Code" Type="String" />
                                                                    <ext:RecordField Name="ID" Mapping="ID" Type="int" />
                                                                </Fields>
                                                            </ext:ArrayReader>
                                                        </Reader>
                                                    </ext:Store>
                                                </Store>
                                            </ext:ComboBox>
                                        </Editor>
                                    </ext:PropertyGridParameter>
                                    <ext:PropertyGridParameter Name="ID Code" Value="">
                                        <Editor>
                                            <ext:ComboBox ID="cbIDCode" runat="server">
                                                  <Store>
                                                      <ext:Store ID="cbIDCodeStore" runat="server" IDMode="Explicit">
                                                        <Reader>
                                                            <ext:ArrayReader>
                                                                <Fields>
                                                                    <ext:RecordField Name="Description" Mapping="Description" Type="String" />
                                                                    <ext:RecordField Name="Code" Mapping="Code" Type="String" />
                                                                    <ext:RecordField Name="ID" Mapping="ID" Type="int" />
                                                                </Fields>
                                                            </ext:ArrayReader>
                                                        </Reader>
                                                    </ext:Store>
                                                </Store>
                                            </ext:ComboBox>
                                        </Editor>
                                    </ext:PropertyGridParameter>
                                    <ext:PropertyGridParameter Name="Phase" Value="">
                                        <Editor>
                                            <ext:ComboBox ID="ddfPhase" runat="server">
                                            </ext:ComboBox>
                                        </Editor>
                                    </ext:PropertyGridParameter>
                                    <ext:PropertyGridParameter Name="Area Code" Value="">
                                        <Editor>
                                            <ext:ComboBox ID="cbAreaCode" runat="server" DisplayField="Code" ValueField="ID">
                                                <Store>
                                                    <ext:Store ID="cbAreaCodeStore" runat="server" IDMode="Explicit">
                                                        <Reader>
                                                            <ext:ArrayReader>
                                                                <Fields>
                                                                    <ext:RecordField Name="Description" Mapping="Description" Type="String" />
                                                                    <ext:RecordField Name="Code" Mapping="Code" Type="String" />
                                                                    <ext:RecordField Name="ID" Mapping="ID" Type="int" />
                                                                </Fields>
                                                            </ext:ArrayReader>
                                                        </Reader>
                                                    </ext:Store>
                                                </Store>
                                            </ext:ComboBox>
                                        </Editor>
                                    </ext:PropertyGridParameter>
                                    <ext:PropertyGridParameter Name="Subject Area" Value="">
                                        <Editor>
                                            <ext:ComboBox ID="cbSubjectArea" runat="server">
                                            </ext:ComboBox>
                                        </Editor>
                                    </ext:PropertyGridParameter>
                                    <ext:PropertyGridParameter Name="TR Chapter" Value="">
                                        <Editor>
                                            <ext:ComboBox ID="cbTRChapter" runat="server">
                                            </ext:ComboBox>
                                        </Editor>
                                    </ext:PropertyGridParameter>
                                    <ext:PropertyGridParameter Name="TR Section" Value="">
                                        <Editor>
                                            <ext:ComboBox ID="cbTrSection" runat="server">
                                            </ext:ComboBox>
                                        </Editor>
                                    </ext:PropertyGridParameter>
                                    <ext:PropertyGridParameter Name="Reference #" Value="" />
                                    <ext:PropertyGridParameter Name="Version #" Value="" />
                                    <ext:PropertyGridParameter Name="Other" Value="">
                                        <Editor>
                                            <ext:ComboBox ID="cbOther" runat="server">
                                            </ext:ComboBox>
                                        </Editor>
                                    </ext:PropertyGridParameter>
                                </Source>
                                <Listeners>
                                    <Render Handler="this.getStore().sortInfo = undefined;" />
                                </Listeners>
                                <Buttons>
                                    <ext:Button ID="btnUpload" runat="server" Text="Upload" Disabled="true">
                                        <Listeners>
                                            <Click Handler="BPOLX.Document.Upload({complete:function(){document.getElementById('iImage').src='';#{btnUpload}.disable();}})" />
                                        </Listeners>
                                    </ext:Button>
                                </Buttons>
                            </ext:PropertyGrid>
    [DirectMethod]
            public void FillProperties()
            {
                cbAreaCodeStore.DataSource = DocumentHandler.Instance.GetSTPProjectAreaCodes();
                cbAreaCodeStore.DataBind();
    
                cbDocumentTypeStore.DataSource = DocumentHandler.Instance.GetSTPDocumentTypes();
                cbDocumentTypeStore.DataBind();
    
                cbOriginatorStore.DataSource = DocumentHandler.Instance.GetSTPOriginators();
                cbOriginatorStore.DataBind();
    
                cbIDCodeStore.DataSource = DocumentHandler.Instance.GetSTPDocumentIDs();
                cbIDCodeStore.DataBind();
            }
    Fill properties executed and all handlers returned data.
    Last edited by Daniil; Jun 13, 2011 at 3:52 PM. Reason: [CLOSED]
  2. #2
    Hi,

    Please see the example.

    Example
    <%@ Page Language="C#" %>
    
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    
    <script runat="server">
        protected void Populate(object sender, DirectEventArgs e)
        {
            this.Store1.DataSource = new object[] 
            { 
                new object[] { "1", "mode 1" },
                new object[] { "2", "mode 2" },
                new object[] { "3", "mode 3" }
            };
            this.Store1.DataBind();
        }
    </script>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>Ext.Net Example</title>
    </head>
    <body>
        <form runat="server">
        <ext:ResourceManager runat="server" />
        <ext:Store ID="Store1" runat="server">
            <Reader>
                <ext:ArrayReader IDProperty="value">
                    <Fields>
                        <ext:RecordField Name="value" />
                        <ext:RecordField Name="text" />
                    </Fields>
                </ext:ArrayReader>
            </Reader>
        </ext:Store>
        <ext:PropertyGrid runat="server" Width="200" AutoHeight="true">
            <Source>
                <ext:PropertyGridParameter Name="mode" Value="">
                    <Renderer Handler="var r = Store1.getById(value);
                                       return r ? r.data.text : 'no mode';" />
                    <Editor>
                        <ext:ComboBox ID="ComboBox1" runat="server" StoreID="Store1" />
                    </Editor>
                </ext:PropertyGridParameter>
            </Source>
        </ext:PropertyGrid>
        <ext:Button runat="server" Text="Populate" OnDirectClick="Populate" />
        </form>
    </body>
    </html>
  3. #3
    So, I cant use IList<someobject> to init store of Combobox in PropertyGrid?
  4. #4
    You can.

    Please modify my sample to reproduce your problem.
  5. #5
    I have class:
    public class STPDocumentID: DomainObject<int>
        {
              #region Constructors
            /// <summary>
            /// This is a placeholder constructor for NHibernate.
            /// </summary>
            protected STPDocumentID() { }
            #endregion
            #region Properties
    
            public virtual string Code { get; set; }
            public virtual string Description { get; set; }
            #endregion
        }
    I have combobox with store:
     <ext:PropertyGrid ID="pgDocumentProperties" runat="server" Width="250">
                                <Source>
                                    <ext:PropertyGridParameter Name="ID Code" Value="">
                                        <Editor>
                                            <ext:ComboBox ID="cbIDCode" runat="server">
                                                  <Store>
                                                      <ext:Store ID="cbIDCodeStore" runat="server" DisplayField="Code" ValueField="ID">
                                                        <Reader>
                                                            <ext:ArrayReader>
                                                                <Fields>
                                                                    <ext:RecordField Name="Description" Mapping="Description" Type="String" />
                                                                    <ext:RecordField Name="Code" Mapping="Code" Type="String" />
                                                                    <ext:RecordField Name="ID" Mapping="ID" Type="int" />
                                                                </Fields>
                                                            </ext:ArrayReader>
                                                        </Reader>
                                                    </ext:Store>
                                                </Store>
                                            </ext:ComboBox>
                                        </Editor>
                                    </ext:PropertyGridParameter>
                                </Source>
                            </ext:PropertyGrid>

    I have init code, which I called on afterrender of main panel.
     cbIDCodeStore.DataSource = DocumentHandler.Instance.GetSTPDocumentIDs();
                cbIDCodeStore.DataBind();
    DocumentHandler.Instance.GetSTPDocumentIDs(); return 8 items of STPDocumentID type. Nothing appears to be in combobox.
  6. #6
    Please replace
    <ext:ArrayReader>
    with
    <ext:JsonReader>

Similar Threads

  1. [CLOSED] PropertyGrid in Menu
    By softmachine2011 in forum 2.x Legacy Premium Help
    Replies: 5
    Last Post: Jul 04, 2012, 12:21 PM
  2. [CLOSED] PropertyGrid with combobox editor
    By Marcelo in forum 1.x Legacy Premium Help
    Replies: 4
    Last Post: Mar 14, 2012, 11:16 PM
  3. [CLOSED] PropertyGrid Combobox
    By Marcelo in forum 1.x Legacy Premium Help
    Replies: 6
    Last Post: Jun 27, 2011, 6:56 PM
  4. [CLOSED] Select first row from propertygrid
    By Hari_CSC in forum 1.x Legacy Premium Help
    Replies: 3
    Last Post: Apr 09, 2010, 5:51 AM
  5. [CLOSED] PropertyGrid
    By Bernard Jourdain in forum 1.x Help
    Replies: 2
    Last Post: Oct 06, 2008, 1:58 PM

Tags for this Thread

Posting Permissions