Telerik Forums
UI for WinForms Forum
0 answers
127 views

Hello,

I've gone through the tutorial here: https://docs.telerik.com/devtools/winforms/scheduler/appointments-and-dialogs/adding-a-custom-field-to-the-editappointment-dialog

I have been able to add my custom field to the scheduler, however, when I save the appointment and edit the same appointment again, the value I put in the "IdPaciente" field is not recovered, it simply recovers the empty value.
But if you are saving in the database the field "IdPaciente"
I'm seeing that in the LoadSettingsFromEvent method, IEvent the custom field retrieves empty. 
What am I doing wrong, could you help me please?

 public partial class CustomAppointmentEditForm: Telerik.WinControls.UI.Scheduler.Dialogs.EditAppointmentDialog
    {
        public CustomAppointmentEditForm()
        {
            InitializeComponent();
        }

        protected override void LoadSettingsFromEvent(IEvent ev)
        {
            base.LoadSettingsFromEvent(ev);
            AppointmentWithIdPaciente appointmentWithIdPaciente = ev as AppointmentWithIdPaciente;

            if(appointmentWithIdPaciente != null)
            {
                radTextBoxIdPaciente.Text = appointmentWithIdPaciente.IdPaciente;
            }
        }

        protected override void ApplySettingsToEvent(IEvent ev)
        {
            AppointmentWithIdPaciente appointmentWithIdPaciente = ev as AppointmentWithIdPaciente;
            if(appointmentWithIdPaciente != null)
            {
                appointmentWithIdPaciente.IdPaciente = radTextBoxIdPaciente.Text;
            }
            base.ApplySettingsToEvent(ev);
        }
        protected override IEvent CreateNewEvent()
        {
            return new AppointmentWithIdPaciente();
        }
    }
}


    public class AppointmentWithIdPaciente : Appointment
    {
        public AppointmentWithIdPaciente() : base()
        {
        }

        protected override Event CreateOccurrenceInstance()
        {
            return new AppointmentWithIdPaciente();
        }

        string _IdPaciente = string.Empty;

        public string IdPaciente
        {
            get 
            { 
                return this._IdPaciente; 
            }
            set 
            {
                if (this._IdPaciente != value)
                {
                    this._IdPaciente = value;
                    OnPropertyChanged("IdPaciente");
                }
            }
        }
    }
}


    public class AppointmentWithIdPacienteFactory : IAppointmentFactory
    {
        public IEvent CreateNewAppointment()
        {
            return new AppointmentWithIdPaciente();
        }
    }


 public partial class radForm1 : Telerik.WinControls.UI.RadForm
    {
        public radForm1()
        {
            InitializeComponent();

         
            this.radScheduler1.AppointmentFactory = new AppointmentWithIdPacienteFactory();
            SchedulerBindingDataSource dataSource = this.schedulerBindingDataSource1;
            dataSource.EventProvider.AppointmentFactory = this.radScheduler1.AppointmentFactory;

            AppointmentMappingInfo appointmentMappingInfo = (AppointmentMappingInfo)dataSource.EventProvider.Mapping;
            appointmentMappingInfo.Mappings.Add(new SchedulerMapping("IdPaciente", "IdPaciente"));

            schedulerBindingDataSource1.EventProvider.DataSource = this.testDataSet.Appointments;
            this.radScheduler1.DataSource = dataSource;
            schedulerBindingDataSource1.EventProvider.Mapping = appointmentMappingInfo;
           
            AppointmentsTableAdapter appointmentsTableAdapter = new AppointmentsTableAdapter();
            appointmentsTableAdapter.Fill(testDataSet.Appointments);

            ResourcesTableAdapter resourcesTableAdapter = new ResourcesTableAdapter();
            resourcesTableAdapter.Fill(testDataSet.Empleados);

            AppointmentsResourcesTableAdapter appointmentsResourcesTableAdapter = new AppointmentsResourcesTableAdapter();
            appointmentsResourcesTableAdapter.Fill(testDataSet.AppointmentsResources);

            radScheduler1.GroupType = GroupType.Resource;
             
            this.schedulerBindingDataSource1.Rebind();
        }


 CustomAppointmentEditForm appointmentDialog = null;
        private void radScheduler1_AppointmentEditDialogShowing(object sender, AppointmentEditDialogShowingEventArgs e)
        {
            if(this.appointmentDialog == null)
            {
                this.appointmentDialog = new CustomAppointmentEditForm();
            }
            e.AppointmentEditDialog = this.appointmentDialog;
        }
   private void radButtonSave_Click(object sender, EventArgs e)
        {
            AppointmentsTableAdapter appointmentsTableAdapter = new AppointmentsTableAdapter();
            AppointmentsResourcesTableAdapter appointmentsResourcesTableAdapter = new AppointmentsResourcesTableAdapter();

            TestDataSet.AppointmentsResourcesDataTable deletedChildRecords = 
                this.testDataSet.AppointmentsResources.GetChanges(DataRowState.Deleted)
                as TestDataSet.AppointmentsResourcesDataTable;

            TestDataSet.AppointmentsResourcesDataTable newChildRecords =
              this.testDataSet.AppointmentsResources.GetChanges(DataRowState.Added)
              as TestDataSet.AppointmentsResourcesDataTable;

            TestDataSet.AppointmentsResourcesDataTable modifiedChildRecords =
            this.testDataSet.AppointmentsResources.GetChanges(DataRowState.Modified)
            as TestDataSet.AppointmentsResourcesDataTable;

            try
            {
                if (deletedChildRecords != null)
                {
                    appointmentsResourcesTableAdapter.Update(deletedChildRecords);
                }
                appointmentsTableAdapter.Update(this.testDataSet.Appointments);

                if (newChildRecords != null)
                {
                    appointmentsResourcesTableAdapter.Update(newChildRecords);
                }

                if(modifiedChildRecords != null)
                {
                    appointmentsResourcesTableAdapter.Update(modifiedChildRecords);
                }

                this.testDataSet.AcceptChanges();
                
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                if (deletedChildRecords != null)
                    deletedChildRecords.Dispose();

                if (newChildRecords != null)
                    newChildRecords.Dispose();

                if (modifiedChildRecords != null)
                    modifiedChildRecords.Dispose();

            }
        }

Emmanuel
Top achievements
Rank 1
 asked on 17 Oct 2018
8 answers
1.0K+ views
is there an event on a rad grid when the user clicks the "click here to add a new row"?  i can't find one.  I need to have that row visible and clickable, but i don't want it to really add one in the grid.  I want to do a pop up window to add the row and then when that window gets done, i'll manually add it to the dataset behind the grid.  i had another post where someone answered my question with doing custom user controls in the grid to edit data.  that worked great for most of my stuff, but now i have a situation where there are 3 columns in the grid, but the edit form needs to show about 60, so i want to do a popup winform and add a new one that way.  The rest of the grid will be non editable so it's just new rows.

Thanks!
DBE
Top achievements
Rank 1
 answered on 17 Oct 2018
15 answers
1.2K+ views
 How can I get the combo in the grid to allow the users to at least type the first letter of whatever selection they need to make? At the momemnt I've got a working combo, it just doesn't allow any typing at all - is there a property I need to set?

Dimitar
Telerik team
 answered on 17 Oct 2018
1 answer
204 views

Hi,

 

Im trying to customize a ShapeForm, but I dont see on the VisualStyleBuilder.

 Is there ShapeForm on VisualStyleBuilder?

 

Thank you!

Dimitar
Telerik team
 answered on 17 Oct 2018
3 answers
169 views

How's one do this?

I tried a function that looped thru the cols and did the following;

//objTheGrid.Columns[intIDX].Width = 1000;

objTheGrid.MasterTemplate.Columns[intIDX].Width = 1000

Neither worked.

Also did a similar thing for Rows, but for height, and that didn't do anything either.

 

THanks

 

 

Dimitar
Telerik team
 answered on 17 Oct 2018
3 answers
106 views

Hello,

As I can load the default drop-down list by default, I try it but it does not work in the load or the constructor event, but it works in the button that I put in test.


     It does not work
     public radFormAppointmentsEdit ()
         {
             InitializeComponent ();
             cmbShowTimeAs.SelectedValue = 3;
         }


    
     It does not work
     private void radFormAppointmentsEdit_Load (object sender, EventArgs e)
         {
             cmbShowTimeAs.SelectedValue = 3;
         }


        It works
         private void radButtonTest_Click (object sender, EventArgs e)
         {
             cmbShowTimeAs.SelectedValue = 3;
         }


I just want it to work for me when I start the form, what can I do?
Dess | Tech Support Engineer, Principal
Telerik team
 answered on 16 Oct 2018
2 answers
111 views

Hello,

I need to set the background color of each row.

I have a function that exports a grids rows to excel document.

I need to remove any colours on the grids rows to be no colors.

Hows this done exactly? I see from reading the forums that I somehow must use the rowformatting event.

Need to know how I would call that and loop thru the rows to clear the background color.

 

Thanks in advance.

 

Dimitar
Telerik team
 answered on 16 Oct 2018
0 answers
120 views

Hello

I am trying to make a custom Menu Item in the style builder, and its looks like I want.

I make menu in Visutal Studio.

And when running.

What could be the problem?

 

thank you!

 

 

 

MaiK
Top achievements
Rank 1
Iron
 asked on 16 Oct 2018
45 answers
1.3K+ views

Hello,

I had a question in regards to how you need to bind/set the data type of a GridView. When I'm doing column creation, you need to set the data type of the column to all be of one type (i.e. text, date, drop down list, etc). Is there a way around this? Basically I want to have one column be of a general Data type and have each row determine what to put into the cell.

I've attached an image of the "gridview" that I'm trying to recreate in winforms. Any and all help is very much appreciated!

Thanks

Hristo
Telerik team
 answered on 16 Oct 2018
1 answer
871 views
How can i add textbox1_textchanged event for a textbox which works for 2 forms or dual monitor means when i am working on 2 Forms (one is for user entry(User_Form) and second is for customer display(Customer_Form)), the textbox1_textchanged event fires when start typing on user's screen(User_Form) textbox and textbox2 text should be changed on customer display textbox(Customer_Form).
Albert
Top achievements
Rank 1
 answered on 14 Oct 2018
Narrow your results
Selected tags
Tags
GridView
General Discussions
Scheduler and Reminder
Treeview
Dock
RibbonBar
Themes and Visual Style Builder
ChartView
Calendar, DateTimePicker, TimePicker and Clock
DropDownList
Buttons, RadioButton, CheckBox, etc
ListView
ComboBox and ListBox (obsolete as of Q2 2010)
Form
Chart (obsolete as of Q1 2013)
PageView
MultiColumn ComboBox
TextBox
RichTextEditor
PropertyGrid
Menu
RichTextBox (obsolete as of Q3 2014 SP1)
Panelbar (obsolete as of Q2 2010)
PivotGrid and PivotFieldList
Tabstrip (obsolete as of Q2 2010)
MaskedEditBox
CommandBar
PdfViewer and PdfViewerNavigator
ListControl
Carousel
GanttView
Diagram, DiagramRibbonBar, DiagramToolBox
Panorama
New Product Suggestions
VirtualGrid
Toolstrip (obsolete as of Q3 2010)
AutoCompleteBox
Label
Spreadsheet
ContextMenu
Panel
Visual Studio Extensions
TitleBar
SplitContainer
Documentation
Map
DesktopAlert
CheckedDropDownList
ProgressBar
MessageBox
TrackBar
Rotator
SpinEditor
CheckedListBox
StatusStrip
CollapsiblePanel
LayoutControl
ShapedForm
SyntaxEditor
Wizard
TextBoxControl
Conversational UI, Chat
DateTimePicker
TabbedForm
CAB Enabling Kit
WaitingBar
GroupBox
DataEntry
ScrollablePanel
ScrollBar
ImageEditor
Tools - VSB, Control Spy, Shape Editor
BrowseEditor
DataFilter
FileDialogs
ColorDialog
Gauges (RadialGauge, LinearGauge, BulletGraph)
ApplicationMenu
RangeSelector
CardView
WebCam
BindingNavigator
RibbonForm
Styling
Barcode
PopupEditor
TaskBoard
NavigationView
Callout
ColorBox
PictureBox
FilterView
Accessibility
VirtualKeyboard
DataLayout
Licensing
ToastNotificationManager
ValidationProvider
CalculatorDropDown
Localization
TimePicker
BreadCrumb
ButtonTextBox
FontDropDownList
BarcodeView
Overlay
Security
LocalizationProvider
Dictionary
TreeMap
StepProgressBar
SplashScreen
Flyout
Separator
SparkLine
ToolbarForm
NotifyIcon
DateOnlyPicker
AI Coding Assistant
Rating
TimeSpanPicker
Calculator
OfficeNavigationBar
TaskbarButton
HeatMap
SlideView
PipsPager
AIPrompt
TaskDialog
TimeOnlyPicker
SpeechToTextButton
+? more
Top users last month
Chester
Top achievements
Rank 1
Iron
Simon
Top achievements
Rank 1
Iron
Douglas
Top achievements
Rank 2
Iron
Iron
SUNIL
Top achievements
Rank 3
Iron
Iron
Iron
Marco
Top achievements
Rank 3
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Chester
Top achievements
Rank 1
Iron
Simon
Top achievements
Rank 1
Iron
Douglas
Top achievements
Rank 2
Iron
Iron
SUNIL
Top achievements
Rank 3
Iron
Iron
Iron
Marco
Top achievements
Rank 3
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?