Как я могу контролировать дату по умолчанию для столбцов даты в элементе управления UltraWebGrid? - PullRequest
0 голосов
/ 16 декабря 2011

Я использую элемент управления Infragistics UltraWebGrid и имеет следующую компоновку:

<igtbl:UltraWebGrid ID="uwgPrescribedTrainingPlan" runat="server" Browser="Auto">
   <Bands>
      <igtbl:UltraGridBand DataKeyField="TRAININGPLANID">
         <Columns>
            ...
            <igtbl:UltraGridColumn HeaderText="Training Start Date" Key="STARTDATE" BaseColumnName="STARTDATE"
               DataType="System.DateTime" Format="MM-dd-yy" EditorControlID="wdcDateChooser" />
            <igtbl:UltraGridColumn HeaderText="Training End Date" Key="ENDDATE" BaseColumnName="ENDDATE"
               DataType="System.DateTime" Format="MM-dd-yy" EditorControlID="wdcDateChooser" />
            ...
         </Columns>
      </igtbl:UltraGridBand>
   </Bands>
</igtbl:UltraWebGrid>

Два важных столбца: STARTDATE и ENDDATE.Оба позволяют пользователям редактировать ячейку с помощью элемента управления календаря.

Прямо сейчас, если вы измените значение ячейки ENDDATE, средство выбора по умолчанию будет иметь текущую дату.То, что я хочу, это установить значение по умолчанию в столбце STARTDATE (если он есть).

Я просмотрел документы и не нашел много, и API-интерфейс сценариев на стороне клиента, кажется,быть полностью без документов.Кто-нибудь знает, возможно ли это сделать?

ОБНОВЛЕНИЕ :

Я могу прикрепить обработчик к событию AfterDropDown wdcDateChooser, однако в этом обработчикеЯ не вижу способа получить строку, по которой я щелкнул в сетке.

1 Ответ

1 голос
/ 16 декабря 2011

Мне кажется, у меня есть решение.Я добавил следующий Javascript к событию AfterDropDown элемента управления WebDateChooser следующим образом:

<ClientSideEvents AfterDropDown="InitEndDateDefault"></ClientSideEvents>

Функция Javascript выглядит следующим образом:

function InitEndDateDefault(oDateChooser, dropDownPanel, oEvent)
{
   var cell = oDateChooser.webGrid.grid.getActiveCell();

   if (cell.Column.Key == "ENDDATE" && !oDateChooser.getValue())
   {
      var startDate = cell.getPrevCell().getValue();
      oDateChooser.Calendar.setSelectedDate(startDate);
   }
}
...