Maison  >  Article  >  interface Web  >  Comment mettre en surbrillance des lignes dans un JqGrid en fonction de l'état des cases à cocher ?

Comment mettre en surbrillance des lignes dans un JqGrid en fonction de l'état des cases à cocher ?

DDD
DDDoriginal
2024-11-07 10:49:02802parcourir

How to Highlight Rows in a JqGrid Based on Checkbox Status?

Mettre en surbrillance les lignes lorsque la case à cocher est vraie

Dans votre projet jqGrid, vous souhaitez mettre en surbrillance les lignes en fonction de l'état d'une case à cocher.

Rappel Rowattr

La version 4.3.2 de jqGrid introduit le rappel rowattr, qui vous permet d'ajouter des attributs personnalisés aux lignes pendant le processus de remplissage de la grille. Il s'agit d'une approche appropriée pour la mise en évidence des lignes.

rowattr: function (rd) {
    if (rd.GroupHeader === "1") { // Verify this logic based on your data structure
        return {"class": "myAltRowClass"};
    }
}

Classe CSS pour la mise en évidence

Définissez une classe CSS myAltRowClass qui définit la couleur d'arrière-plan des lignes en surbrillance.

Multiselect et gridview

Pour la mise en surbrillance des lignes sans sélection de lignes, omettez la multiselect : true. Pour améliorer les performances, activez GridView : true.

Utilisation des modèles de colonnes

Pour rationaliser votre code, vous pouvez utiliser des modèles de colonnes :

cmTemplate

cmTemplate: {align: 'center', sortable: false, editable: true, width: 80}

Modèles personnalisés

Créez des modèles personnalisés pour les propriétés couramment utilisées :

var myCheckboxTemplate = {
    formatter: 'checkbox',
    edittype: 'checkbox',
    type: 'select',
    editoptions: {value: "1:0"}
};

var myTextareaTemplate = {
    edittype: "textarea",
    editoptions: {size: "30", maxlength: "30"}
};

ColModel optimisé

colModel: [
    {name: 'TypeID', index: 'TypeID', width: 350, hidden: true, edittype: "select",
        editoptions: {value: getTypeID()}, editrules: { edithidden: true}},
    {name: 'Order1', index: 'Order1', template: myTextareaTemplate},
    {name: 'Order2', index: 'Order2', template: myTextareaTemplate},
    {name: 'Order3', index: 'Order3', template: myTextareaTemplate},
    {name: 'Description', index: 'Description', width: 140, template: myTextareaTemplate},
    {name: 'Notes', index: 'Notes', width: 120, template: myTextareaTemplate},
    {name: 'Measure', index: 'Measure', template: myTextareaTemplate},
    {name: 'UnitPrice', index: 'UnitPrice', width: 100, editable: false, template: myTextareaTemplate},
    {name: 'Remarks', index: 'Remarks', width: 140, template: myTextareaTemplate},
    {name: 'UnitCost', index: 'UnitCost', width: 100, template: myTextareaTemplate},
    {name: 'Service', index: 'Service', width: 120, template: myTextareaTemplate},
    //If the GroupHeader is true the row background is yellow
    {name: 'GroupHeader', index: 'GroupHeader', width: 100, template: myCheckboxTemplate},
    {name: 'IsGroup', index: 'IsGroup', template: myCheckboxTemplate}
],
cmTemplate: {align: 'center', sortable: false, editable: true, width: 80}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn