Реализация шаблонов мастер страниц в Silverlight - Демонстрация

ОГЛАВЛЕНИЕ

Демонстрация

Есть 3 примера, которые мы собираемся разобрать:

Аппаратное обеспечение FCM201
Этот пример показывает, как использовать кнопку для запуска различных состояний.

private void Button_Click(object sender, RoutedEventArgs e) 
{
    Button b = (Button)sender;
    switch (b.Tag.ToString())
    {
        case "INT":
WorkState.INT;
        break;
        case "SEA":
WorkState.SEA;
        break;
        case "MOD":
WorkState.MOD;
        break;
        case "CUS":
WorkState.CUS;
true;
                        topToolBar.ExecuteEnable = true;
                        topToolBar.EditEnable = true;
                        topToolBar.DeleteEnable = true;
                        topToolBar.SaveEnable = true;
                        topToolBar.RecordMoveEnable = true;
                        topToolBar.ExcelEnable = true;
                  break;
    }
}

Начальная кнопка: для запуска начального состояния, как на Рис 12


Рис 12. Начальное состояние

Кнопка поиска: для запуска состояния поиска


Рис 13. Состояние поиска

Кнопка изменения: для запуска состояния изменения


Рис 14. Состояние изменения

Клиентская кнопка – для запуска клиентского состояния

Рис 15. Клиентское состояние

Программное обеспечение FCM202

Это порядок выполнения действий по умолчанию в общем случае. Порядок смены состояний таков – Начальное состояние -->Состояние поиска  --> Состояние изменения.

В начальном состоянии активна только кнопка Поиск.


Рис 16. Начальное состояние

После нажатия кнопки поиска состояние изменится на Поиск и станет видимой кнопка Выполнение. 


Рис 17. Состояние поиска

После нажатия на кнопку Выполнение станут видимы все управляющие кнопки, за исключением кнопки Выполнение. Теперь вы должны видеть данные, отображенные на странице содержимого.

Рис 18. Состояние изменения

При нажатии кнопки Удалить появится предупреждающее сообщение. Удаление не работает в этом примере.

Рис 19. Кнопка удаления

Нажатие кнопки редактирования сделает доступной возможность изменения редактируемых полей. Файл типа данных отобразит элемент управления календарь. Поле с множественным выбором отобразит комбинированный список.

Рис 20. Кнопка редактирования

После изменения данных вы можете нажать кнопку Сохранить, чтобы обновить данные на сервере.

Рис 21. Кнопка Сохранить

В FCM202 мы нажимаем кнопку перемещения по записям в элементе управления подстраницы.

voidobject sender, RoutedEventArgs e)
{
            iCurrent = 0;
            SetCountStatus(iCurrent);
}
voidobject sender, RoutedEventArgs e)
{
            iCurrent = list.Count - 1;
            SetCountStatus(iCurrent);
}
voidobject sender, RoutedEventArgs e)
{
         if (iCurrent != list.Count - 1)
    {
        iCurrent = iCurrent + 1;
        SetCountStatus(iCurrent);
    }
}
voidobject sender, RoutedEventArgs e)
{
    if (iCurrent != 0)
    {
        iCurrent = iCurrent - 1;
        SetCountStatus(iCurrent);
    }
}

Рис 22. Кнопка перемещения по записям

Передаем информацию обработчику, чтобы создать файл excel

voidobject sender, RoutedEventArgs e)
{
    string strOwnerId = txtOwnerId.Text;
         string strEncodeUrl = System.Windows.Browser.HttpUtility.UrlEncode("[AllyCompAcct;FindAllyCompAccountByOwnerId;" + strOwnerId + "]");
         string strUri = "http://localhost/CommandInMasterDaoWcf/ExportExcel.ashx?Context=" + strEncodeUrl;
    HtmlPage.Window.Navigate(new Uri(strUri, UriKind.Absolute));
}

Рис 23. Экспорт данных в excel

FCM203 Локальный

Это пользовательская последовательность состояний. Последовательность состояний такова: Начальное состояние  --> Состояние поиска  --> Клиентское состояние.
Чтобы сделать активным клиентское состояние, вам нужно установить topToolBar.CurrentState = WorkState.CUS


Рис 24. Клиентское состояние 

В FCM203 мы нажимаем кнопку перемещения по записям в TopToolBar, устанавливая сетку данных в свойстве BindGrid (привязать сетку) TopToolBar.

topToolBar.BindGrid = this.dgAccountYear;
topToolBar.TotalRowCount = list.Count;

Рис 25. Кнопка перемещения по записям

Двигаемся вперед

Мы сделали этот код общедоступным без ограничений. Он не является лучшим образцом проектирования или стиля написания кода. Любой может использовать его для любых целей, включая и создание коммерческих продуктов. Если вы можете улучшить код или сделать его более понятным, сообщите нам. Мы обновим код, чтобы сделать его более полезным.

 Загрузить CommandInMasterDemo.zip - 2.14 MB