X

Vielen Dank, dass Sie sich für unsere Dienstleistungen interessieren. Leider sind Sie auf einer veralteten Seite gelandet. Das sollte nicht vorkommen.

Besuchen Sie gerne unsere aktualisierte Webseite.

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