Как автоматически перенести дату из xtrascheduler в другую форму - PullRequest
0 голосов
/ 06 октября 2010

Я использую devexpress xtrascheduler в том смысле, что мне нужно получить дату в следующей форме, нажимая на конкретную дату в xtrascheduler

, например, если я нажимаю на ячейку с датой 02-06-2010 год, когда открывается другая форма, она должна принять эту дату ... Возможно ли это ...

1 Ответ

0 голосов
/ 06 октября 2010

Да, конечно, это возможно.Просто возьмите значение xtrascheduler перед открытием новой страницы и установите дату DateTime;

Перейти к коду другой формы.у вас есть строка, подобная

public MyForm()
{
InitializeComponents();
}

, добавьте и эти строки, объявите переменную в global и установите для нее дату поступления, например,

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

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

, так что теперь, когда вы пыталисьоткройте новую форму, параметр datetime будет задан следующим образом:

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

---------- Второй способ

Форма FirstForm = Ваша основная форма

Форма SecondForm = Ваша вторая форма, дата которой будет перенесена в эту форму

В форме SecondForm:

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

установите значение datetime для переменной в FirstForm.Допустим,

// 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

в этой части используйте это:

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

просто отправьте этот параметр в первой форме перед открытием

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

Управление планировщиком

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));
      }
   }
}

, а также см. эта информация может помочь вам , и вам нужно свойств, которые вам нужны

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...