我正在使用 inffragistics 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似乎完全没有文档记录。有人知道这是否可行吗?
:
我可以将处理程序附加到wdcDateChooser
的AfterDropDown
事件,但是在该处理程序中,我看不到任何方法来获得我在网格中单击的行
我相信我有办法。我将以下Javascript附加到WebDateChooser
控件的AfterDropDown
事件,如下所示:
<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);
}
}