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>

STARTDATE2つの重要な列はとですENDDATE。どちらの場合も、ユーザーはカレンダーコントロールを使用してセルを編集できます。

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 に答える