我使用的是不片断化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,但是在该处理程序中,我看不到任何方法使我在网格中单击的行。
发布于 2011-12-15 21:05:57
我相信我有个解决办法。我将以下Javascript附加到WebDateChooser控件的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);
}
}https://stackoverflow.com/questions/8526049
复制相似问题