0

我正在使用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>

两个重要的列是STARTDATEENDDATE。两者都允许用户使用日历控件编辑单元格。

现在,如果您更改ENDDATE单元格的值,选择器将默认为当前日期。我想要的是默认为STARTDATE列的值(如果有的话)。

我查看了文档并没有找到太多,客户端脚本 API 似乎完全没有文档记录。有谁知道这是否可行?

更新

我可以将处理程序附加到 的AfterDropDown事件wdcDateChooser,但是在该处理程序中,我看不到任何方法可以获取我在网格中单击的行。

4

1 回答 1

1

我相信我有一个解决方案。我已将以下 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);
   }
}
于 2011-12-15T21:05:57.227 回答