2010-10-06 10 views
0

J'utilise xtrascheduler de DevExpress en ce que je dois obtenir la date n le formulaire suivant en ClickIn à une date donnée sur la xtraschedulerComment prendre automatiquement la date du xtrascheduler à une autre forme

par exemple, si i je suis en cliquant sur une cellule ayant la date 02-06-2010 puis quand une autre forme est l'ouvrir shud prendre cette date ... est-il possible ..

+0

s'il vous plaît envisager de répondre ma réponse. Travaillé ou pas. –

Répondre

0

Oui bien sûr, il est possible. Prenez simplement la valeur xtrascheduler avant d'ouvrir une nouvelle page, et réglez la date DateHeure;

Aller au code autre forme. vous avez une ligne comme

public MyForm() 
{ 
InitializeComponents(); 
} 

ajouter ces lignes aussi, et déclarer une variable au niveau mondial et mis à jour entrant comme,

DateTime incomingDate = new DateTime(); // This is in the global 

public MyForm(DateTime date) 
{ 
incomingDate = date; 
InitializeComponents(); 
} 

maintenant, lorsque vous avez essayé d'ouvrir votre nouvelle forme , le paramètre datetime sera demandé comme,

MyForm frm = new MyForm(date); 
frm.Show(); 

---------- deuxième façon

Form Fi rstForm = Votre principale forme

Formulaire SecondForm = Votre deuxième forme dont la date sera transférée à cette forme

A forme SecondForm:

public SecondForm(FirstForm x) // Request first form to opening 
{ 
InitializeComponents(); 
} 

définir votre valeur datetime à une variable FirstForm. Disons que

// located global of your FirstForm 
public DateTime abc = yourDateTime; 


declare new FirstForm at SecondForm global like: 

    public FirstForm myFirstForm; // this is in the second form global 

à cette partie utiliser ceci:

public SecondForm(FirstForm x) 
{ 
InitializeComponents(); 
myFirstForm = x; // So now you can reach myFirstForm.abc which is your dateTime 
} 

simplement envoyer ce paramètre dans la première forme avant d'ouvrir

SecondForm frm = new SecondForm(this); 
frm.Show(); 

Planificateur de contrôle

using System; 
using System.ComponentModel; 
using System.Collections.Generic; 
using System.Diagnostics; 
using System.Text; 

using DevExpress.ExpressApp; 
using DevExpress.ExpressApp.Actions; 
using DevExpress.Persistent.Base; 
using DevExpress.ExpressApp.Scheduler.Win; 
using DevExpress.Persistent.Base.General; 
using DevExpress.XtraScheduler; 

namespace HowToAccessSchedulerControl.Module.Win { 
    public partial class SchedulerController : ViewController { 
     public SchedulerController() { 
     InitializeComponent(); 
     RegisterActions(components); 
     } 

     private void SchedulerController_Activated(object sender, EventArgs e) { 
      if(View.ObjectTypeInfo.Implements<IEvent>()) 
      View.ControlsCreated += new EventHandler(View_ControlsCreated); 
     } 
     void View_ControlsCreated(object sender, EventArgs e) { 
     // Access the current List View 
     ListView view = (ListView)View; 
     // Access the View's List Editor as a SchedulerListEditor 
     SchedulerListEditor listEditor = (SchedulerListEditor)view.Editor; 
     // Access the List Editor's SchedulerControl 
     SchedulerControl scheduler = listEditor.SchedulerControl; 
     // Set the desired time to be visible 
     if (scheduler != null) 
      scheduler.Views.DayView.VisibleTime = 
       new TimeOfDayInterval(new TimeSpan(6, 0, 0), new TimeSpan(11, 0, 0)); 
     } 
    } 
} 

et aussi voir this information might help you an d il y a properties you need

+0

HII Serkan d'abord désolé pour le retard dans reply..but le code ne fonctionne pas, il ne prend pas la date particulière – amk

+0

@amk son pas de problème. C'est le meilleur moyen de transférer des valeurs entre les formulaires. Je suis l'édition ma réponse, il y a une deuxième façon –

+0

bonjour Serkan j'ai essayé la deuxième trop, mais pas encore son working.I vais vous expliquer le scenario.actualy i na pas obtenir l'idée de « votre DateTime » .Dans mon cas j'ai besoin pour obtenir la date de la xtrscheduler à la forme que j'ai created.may être je demande trop much..but me aider s'il vous plaît – amk