Calendar Control : As I can load data into custom field (combobox). in the following example

  1. #1

    Calendar Control : How to load data into custom field (combobox). in the following example

    aspx

    
    <%@ Page Language="C#" %>
    
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    <%@ Import Namespace="System.Collections.Generic" %>
    
    <script runat="server">
        
        
        class MyEventModel : EventModel
        {
            public int ID_PROF { get; set; }
            public String RUT { get; set; }
            public String NOMBRE_PACIENTE { get; set; }
    
        }
    
    
        protected void Page_Load(object sender, EventArgs e)
        {
    
            Model model = this.CalendarPanel1.EventStore.ModelInstance;
            model.Fields.Add(new ModelField("ID_PROF"));
            model.Fields.Add(new ModelField("RUT"));
            model.Fields.Add(new ModelField("NOMBRE_PACIENTE"));
    
    
    
            this.CalendarPanel1.EventStore.Model.Add(model);
    
            if (!X.IsAjaxRequest)
            {
    
                EventStore store = this.CalendarPanel1.EventStore;
    
                MyEventModel Meven = new MyEventModel();
    
    
                Meven.Title = "Cita Morbilidad";
                Meven.CalendarId = 1;
                Meven.StartDate = DateTime.Now;
                Meven.EndDate = DateTime.Now.AddDays(1);
                Meven.EventId = 1;
                Meven.NOMBRE_PACIENTE = "MARIO PEREZ";
                Meven.RUT = "16349273-3";
    
    
                store.Events.Add(Meven);
    
    
    
            }
    
    
    
        }
    
        protected void EventStore_SubmitData(object sender, StoreSubmitDataEventArgs e)
        {
            MyEventModel[] events = JSON.Deserialize<MyEventModel[]>(e.Json);
            X.Msg.Alert("Chupaloss", JSON.Serialize(events)).Show();
        }
    
        [DirectMethod(Namespace = "CompanyX")]
        public void ShowMsg(string msg)
        {
            X.Msg.Notify("Message", msg).Show();
        }
    </script>
     <script type="text/javascript">
         Ext.calendar.template.BoxLayout.override({
             getTodayText: function() {
                 var dt = Ext.Date.format(new Date(), 'l, F j, Y'),
                        todayText = this.showTodayText !== false ? this.todayText : '',
                        timeText = this.showTime !== false ? ' <span id="' + this.id + '-clock" class="ext-cal-dtitle-time">' +
                 //Ext.Date.format(new Date(), 'g:i a') + '</span>' : '',
                                Ext.Date.format(new Date(), 'H:i') + '</span>' : '',
                        separator = todayText.length > 0 || timeText.length > 0 ? ' &mdash; ' : '';
    
                 if (this.dayCount == 1) {
                     return dt + separator + todayText + timeText;
                 }
                 fmt = this.weekCount == 1 ? 'D j' : 'j';
                 return todayText.length > 0 ? todayText + timeText : Ext.Date.format(new Date(), fmt) + timeText;
             }
         });
    
         Ext.calendar.view.Month.override({
             initClock: function() {
                 if (Ext.fly(this.id + '-clock') !== null) {
                     this.prevClockDay = new Date().getDay();
                     if (this.clockTask) {
                         Ext.TaskManager.stop(this.clockTask);
                     }
                     this.clockTask = Ext.TaskManager.start({
                         run: function() {
                             var el = Ext.fly(this.id + '-clock'),
                                t = new Date();
    
                             if (t.getDay() == this.prevClockDay) {
                                 if (el) {
                                     el.update(Ext.Date.format(t, 'g:i a'));
                                    // el.update(Ext.Date.format(t, 'H:i'));
                                 }
                             }
                             else {
                                 this.prevClockDay = t.getDay();
                                 this.moveTo(t);
                             }
                         },
                         scope: this,
                         interval: 1000
                     });
                 }
             }
         });
        </script>
    <!DOCTYPE html>
    <html>
    <head id="Head1" runat="server">
        <title>Ext.NET v2 Example</title>
         <link rel="stylesheet" href="./Shared/resources/css/main.css" />   
        <script type="text/javascript" src="EventMappings.js"></script>
        <script type="text/javascript" src="EventWindow.js"></script>
        <script type="text/javascript" src="common.js"></script>
        
    
        <style>
            .ext-color-4, .ext-ie .ext-color-4-ad, .ext-opera .ext-color-4-ad
            {
                color: #7F0000;
            }
            .ext-cal-day-col .ext-color-4, .ext-dd-drag-proxy .ext-color-4, .ext-color-4-ad, .ext-color-4-ad .ext-cal-evm, .ext-color-4 .ext-cal-picker-icon, .ext-color-4-x dl, .ext-color-4-x .ext-cal-evb
            {
                background: #7F0000;
            }
            .ext-color-4-x .ext-cal-evb, .ext-color-4-x dl
            {
                border-color: #7C3939;
            }
        </style>
    </head>
    <body>
        <form id="Form1" runat="server">
        <ext:ResourceManager ID="ResourceManager1" runat="server" Namespace="CompanyX" />
        <ext:Viewport ID="Viewport1" runat="server" Layout="BorderLayout">
            <Items>
                <ext:Panel ID="Panel1" runat="server" Height="35" Border="false" Region="North" Cls="app-header" BodyCls="app-header-content">
                  
                </ext:Panel>
                <ext:Panel ID="Panel2" runat="server" Title="..." Layout="Border" Region="Center" Cls="app-center">
                    <Items>
                        <ext:Panel ID="Panel3" runat="server" Width="176" Region="West" Border="false" Cls="app-west">
                            <Items>
                                <ext:DatePicker ID="DatePicker1" runat="server" Cls="ext-cal-nav-picker">
                                    <Listeners>
                                        <Select Fn="CompanyX.setStartDate" Scope="CompanyX" />
                                    </Listeners>
                                </ext:DatePicker>
                            </Items>
                            <TopBar>
                                <ext:Toolbar ID="Toolbar1" runat="server">
                                    <Items>
                                        <ext:Button ID="Button1" runat="server" Text="Save All Events" Icon="Disk" Handler="CompanyX.record.saveAll" />
                                    </Items>
                                </ext:Toolbar>
                            </TopBar>
                        </ext:Panel>
                        <ext:CalendarPanel ID="CalendarPanel1" runat="server" Region="Center" ActiveIndex="2"
                            Border="false">
                            <EventStore ID="EventStore1" runat="server" OnSubmitData="EventStore_SubmitData">
                                <Listeners>
                                    <BeforeSync Handler="return false;" />
                                </Listeners>
                            </EventStore>
                            <DayView ID="DayView1" runat="server" TodayText="Hoy" />
                            <WeekView ID="WeekView1" runat="server" TodayText="Hoy" />
                            <MonthView ID="MonthView1" runat="server" TodayText="Hoy" />
                            <CalendarStore ID="CalendarStore1" runat="server">
                                <Calendars>
                                    <ext:CalendarModel CalendarId="1" Title="Consulta Ginecologica"   />
                                    <ext:CalendarModel CalendarId="2" Title="Control Embarazo" />
                                    <ext:CalendarModel CalendarId="3" Title="Consulta Morbilidad" />
                                    <ext:CalendarModel CalendarId="4" Title="Custom2" />
                                    <ext:CalendarModel CalendarId="5" Title="Custom3" />
                                    <ext:CalendarModel CalendarId="6" Title="Custom4" />
                                    <ext:CalendarModel CalendarId="7" Title="Custom5" />
                                </Calendars>
                            </CalendarStore>
                            <Listeners>
                                <EventClick Fn="CompanyX.record.show" Scope="CompanyX" />
                                <DayClick Fn="CompanyX.dayClick" Scope="CompanyX" />
                                <EventMove Fn="CompanyX.record.move" Scope="CompanyX" />
                                <EventResize Fn="CompanyX.record.resize" Scope="CompanyX" />
                            </Listeners>
                            <Buttons>
                                <ext:Button ID="Button2" runat="server" Text="Submit" Handler="CompanyX.record.saveAll()" />
                            </Buttons>
                        </ext:CalendarPanel>
                    </Items>
                </ext:Panel>
            </Items>
        </ext:Viewport>
        <ext:EventWindow ID="EventWindow1" runat="server" Hidden="true" CalendarStoreID="CalendarStore1">
            <Listeners>
                <EventAdd Fn="CompanyX.record.add" Scope="CompanyX" />
                <EventUpdate Fn="CompanyX.record.update" Scope="CompanyX" />
                <EditDetails Fn="CompanyX.record.edit" Scope="CompanyX" />
                <EventDelete Fn="CompanyX.record.remove" Scope="CompanyX" />
            </Listeners>
        </ext:EventWindow>
        </form>
    </body>
    </html>
    EventMappings.js

    
    Ext.apply(Ext.calendar.data.EventMappings, {
    ID_PROF: {
        name: 'ID_PROF',
        mapping: 'ID_PROF',
            type: 'int'
        },
    RUT: {
            name: 'RUT',
            mapping: 'RUT',
            type: 'String'
        },
        
      NOMBRE_PACIENTE: {
            name: 'NOMBRE_PACIENTE',
            mapping: 'NOMBRE_PACIENTE',
            type: 'String'
        }  
        
           
    });
    
    //needs to reconfigure EventModel
    Ext.calendar.data.EventModel.reconfigure();

    EventWindow.js

    Ext.calendar.form.EventWindow.override({
        constructor: function(config) {
            this.callParent(arguments);
    
            var form = this.child("form");
    
            form.add([
            
            {
                itemId: 'ID_PROF',
                name: Ext.calendar.data.EventMappings.ID_PROF.name,
                fieldLabel: 'PROFESIONAL',
                xtype: 'combobox', //This field with external data
                anchor: '100%'
            }, {
            itemId: 'RUT',
            name: Ext.calendar.data.EventMappings.RUT.name,
                fieldLabel: 'RUT',
                xtype: 'textfield',
                anchor: '100%'
            },
            {
            
             itemId: 'NOMBRE_PACIENTE',
             name: Ext.calendar.data.EventMappings.NOMBRE_PACIENTE.name,
                fieldLabel: 'PACIENTE',
                xtype: 'textfield',
                anchor: '100%'
            }
    
            
            ]);
            }
        });
    Click image for larger version. 

Name:	Calendar.jpg 
Views:	21 
Size:	64.4 KB 
ID:	10211
    Last edited by mapperez; Apr 28, 2014 at 4:50 PM. Reason: No response
  2. #2
    Hi @mapperez,

    Welcome to the Ext.NET forums.

    As far as I can understand you should configure a Store for a ComboBox here:
    {
        itemId: 'ID_PROF',
        name: Ext.calendar.data.EventMappings.ID_PROF.name,
        fieldLabel: 'PROFESIONAL',
        xtype: 'combobox', //This field with external data
        anchor: '100%'
    }

Similar Threads

  1. [CLOSED] Combobox display field custom template
    By bayoglu in forum 2.x Legacy Premium Help
    Replies: 4
    Last Post: Mar 15, 2013, 4:11 PM
  2. Replies: 13
    Last Post: Sep 07, 2012, 6:23 PM
  3. Replies: 7
    Last Post: Mar 05, 2012, 8:21 AM
  4. Store data does not load in panel's field.
    By ankit in forum 1.x Help
    Replies: 0
    Last Post: May 25, 2010, 8:44 AM
  5. Spinner field with custom data
    By speddi in forum 1.x Help
    Replies: 0
    Last Post: Apr 28, 2010, 9:34 PM

Posting Permissions