In diesem Beispiel wird gezeigt, wie man die "Arbeitszeittabelle" bzw. die Tabelle "meine Vogänge"

in der PWA generell sperren kann. Dazu wird ein Delegat des Grids benutzt:

     GetRecordEditMode

Dieser Delegat wird beim Rendern einer Zeile für jede Zelle der Zeile aufgerufen. Der Delegat wird auch aufgerufen,

wenn eine Zelle ausgewählt wird.

// Hier die Referenzpfade angeben

//...
var lock;

_spBodyOnLoadFunctionNames.push("Main");

function Main() {
    lock = new MyGridLock();
}

function MyGridLock() {
    var _grid;
    var _satellite;


    if (window.PJ == null || PJ.AddGridSatelliteInitializationNotifier == null) {
        return;
    }


    PJ.AddGridSatelliteInitializationNotifier
    (
        function (satellite) {
           
//Überprüfung, ob "Arbeitszeittabelle"
            if (PJ.TimesheetSatellite != null) {

                satellite = PJ._NotifySatelliteInitComplete.arguments[0];
                _satellite = satellite;

                _grid = satellite.GetJsGridControlInstance();                
               _grid.AttachEvent(SP.JsGrid.EventType.OnCellFocusChanged, CellFocusChangedTimeSheet);               
            }
           
//Überprüfung, ob "Meine Vorgänge"
            if (PJ.MyTasksSatellite != null) {

                satellite = PJ._NotifySatelliteInitComplete.arguments[0];
                _satellite = satellite;

                _grid = satellite.GetJsGridControlInstance();
               _grid.AttachEvent(SP.JsGrid.EventType.OnCellFocusChanged, CellFocusChangedMyTasks);                       
            }
        }
    );
   
    //Funktionen für "Arbeitszeittabelle"
    function CellFocusChangedTimeSheet(eventArgs) {

    //schreiben Sie hier Ihren zusätzlichen Code für die "Arbeitszeittabelle"
    //z.B. um den Inhalt der Zelle oder das Datum zu erhalten
       
        _grid.SetDelegate(SP.JsGrid.DelegateType.GetRecordEditMode, SetRecordEditMode);
    }  

    //Funktionen für "Meine Vorgänge"
    function CellFocusChangedMyTasks(eventArgs) {
       
   
//schreiben Sie hier Ihren zusätzlichen Code für "Meine Vorgänge"
    //z.B. um den Inhalt der Zelle oder das Datum zu erhalten

        _grid.SetDelegate(SP.JsGrid.DelegateType.GetRecordEditMode, SetRecordEditMode);
    } 

    //Sperre des JsGrids
    //Aufgerufen im CellFocusChanged Event
    function SetRecordEditMode(record) {
       return SP.JsGrid.EditMode.ReadOnly;
    }
}

   

Bewertung: 0 / 5

Stern inaktivStern inaktivStern inaktivStern inaktivStern inaktiv
 
Go to Top