2011-12-15 90 views
0

我使用的Infragistics UltraWebGrid控制,並具有以下佈局:如何控制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似乎完全沒有文檔。有誰知道這是可能做到的嗎?

UPDATE

我可以將處理器連接到AfterDropDown事件的wdcDateChooser,但是在處理我看不出有什麼辦法讓我在網格中單擊的行。

回答

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); 
    } 
}