2011-12-15 19 views
0

私はインフラジスティックス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

しかし私は、そのハンドラに私は、グリッド内でクリックされた行を取得する方法が表示されない、wdcDateChooserAfterDropDownイベントにハンドラをアタッチすることができます。

答えて

1

私は解決策があると信じています。私はそうのようなWebDateChooser制御のAfterDropDownイベントに次のJavascriptを添付しました:

<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); 
    } 
} 
関連する問題