2016-04-25 14 views
3

Ich habe Kendo-Raster mit Dropdown-Menüs, datepicker Editor. Es funktioniert gut, außer für den Dropdown/datepicker Editor geöffnet, wenn ich auf den Block klicke.Öffnen Kendo-Editor auf Hover auch

Kann es auch einen Weg geben, dass der Block in Hover auch in Editor-Form (datePicker/dropdown) umgewandelt wird.

Normalzustand Bild ->

enter image description here

Wenn ich auf das Datumsfeld klicken, ändert es ->

enter image description here

Wenn ich auf Dropdown klicken ->

enter image description here

Ich möchte die Blöcke in den Editor in Hover selbst umgewandelt werden und Blöcke sollten in den Normalzustand auf Unschärfe zurück.

ist mein Editor Vorlage

function categoryDropDownEditor(container, options) { 
    $('<input required data-text-field="rsrc_Description" data-value- field="rsrc_cd" data-bind="value:' + options.field + '"/>') 
     .appendTo(container) 
     .kendoDropDownList({ 
      autoBind: true, 
      dataSource: [{ "rsrc_cd": "EXTRS" , ... }], 
     }); 

} 

Hier ist der Code für die Blockierzeit Picker ist ->

function numericEditorHh (container, options) { 
    $('<input name="editableBlock" data-bind="value:' + options.field + '" style="width:35px" tag="timeEditor" id="cccc" /> ') 
      .appendTo(container) 
     .kendoNumericTextBox({ 
      decimals: 0, 
      min: 0, 
      max: 23, 
      format: 'n0', 
     }).attr('maxlength', '2'); 
     $('input[tag=timeEditor]').on('change', timeChange); 
}; 

Für Datetime Picker ->

function dateTimeEditor(container, options) { 
    $('<input name="editableBlock" data-text-field="' + options.field + '" data-value-field="' + options.field + '" data-bind="value:' + options.field + '" data-format="' + options.format + '"/>') 
      .appendTo(container) 
      .kendoDatePicker({ min: btch_strt_dt }); 
    $('input[data-value-field=rsrc_dt]').attr('readonly', 'readonly'); 
    $('input[data-value-field=rsrc_dt]').parent().css('margin-left','-5px'); 
} 
+0

Geben Sie Ihren Code, den Sie verwenden, um Editor einschließlich Selektor und Ereignis zu öffnen. –

+0

@AliKhanusiya Ich habe meine Frage bearbeitet, ich habe den Editor gezeigt, den ich benutze. – Rajdeep

Antwort

2

Anruf danach das Gitter

Laden
$("#gridName").on("mouseover", "td", function() { 
    var tr = $(this).closest("tr"); 
    if (!$(this).hasClass("k-edit-cell")){ 
     $("#gridName").data("kendoGrid").editCell($(this)); 
    } 
}); 

Dies funktioniert für die gesamte Zeile, sollte aber für eine Spalte nicht schwer zu modifizieren sein. Auch bei Ihrem Blur-Effekt müssen Sie sicherstellen, dass Sie die Daten speichern.

$("#gridName").on("mouseleave", "td.k-edit-cell", function() { 
    $("#gridName").data("kendoGrid").saveRow(); 
}); 

Versuchen Sie dies jetzt, sollte dies die Streuung stoppen, denke, es sollte funktionieren. Viel Glück

+0

BTW, die meisten Male wählen Sie einen Wert aus Ihrem DropDown, es wird direkt gespeichert, da die Maus bereits aus der Reihe ist, und das "Speichern" -Ereignis wird aufgerufen. Weiß nicht, ob das ein Problem für Sie ist: P –

+0

Ihr Code funktioniert, aber es macht nur das Dropdown-Menü editable für den Zeilen-Hover, nicht die Datumsauswahl oder den Zeitblock. Kannst du bitte damit helfen? Auch geben Sie bitte eine Idee der Herstellung spezifische Spalte editierbare – Rajdeep

+0

Für einzelne Spalte, müssten Sie die gerade an eine einzelne Zelle, anstelle der vollständigen Zeile, so vielleicht versuchen, ändern "tr" mit "td" –