Heim  >  Artikel  >  Web-Frontend  >  Wie hebe ich Zeilen in jqGrid basierend auf dem Kontrollkästchenwert hervor?

Wie hebe ich Zeilen in jqGrid basierend auf dem Kontrollkästchenwert hervor?

Susan Sarandon
Susan SarandonOriginal
2024-11-07 06:41:03491Durchsuche

How to Highlight Rows in jqGrid Based on Checkbox Value?

Hervorheben von Zeilen basierend auf dem Kontrollkästchenwert

In jqGrid können Sie Zeilen hervorheben, in denen ein bestimmtes Kontrollkästchen wahr ist, und Ihnen so ein visuelles Feedback geben, wenn dies sicher ist Bedingungen erfüllt sind. Dies kann durch Rückrufe und CSS-Styling erreicht werden.

Implementierung:

  1. Rowattr-Rückruf: Nutzen Sie den Rowattr-Rückruf, um benutzerdefinierte Attribute festzulegen zu Reihen. In Ihrem Fall können Sie eine CSS-Klasse für hervorgehobene Zeilen definieren.
rowattr: function (rd) {
    if (rd.GroupHeader === "1") { // assuming your checkbox column is named "GroupHeader"
        return {"class": "myAltRowClass"};
    }
}
  1. CSS-Styling: Definieren Sie eine CSS-Klasse, um das Erscheinungsbild hervorgehobener Zeilen zu steuern. Sie könnten beispielsweise Folgendes verwenden:
.myAltRowClass {
    background-color: #ffff00;
}

Alternative Lösung:

Zusätzlich zum Rowattr-Callback bietet jqGrid Version 4.3.2 eine Neue Funktion namens Gridview, die die Leistung verbessert und eine übersichtlichere Möglichkeit zum Hervorheben von Zeilen bietet.

gridview: true,
rowattr: function (rd) {
    if (rd.GroupHeader === "1") { // assuming your checkbox column is named "GroupHeader"
        return {"class": "myAltRowClass"};
    }
}

Spaltenvorlagen:

Um Ihren Code zu optimieren, sollten Sie Spaltenvorlagen verwenden um gemeinsame Eigenschaften für mehrere Spalten zu definieren. Dies vereinfacht Ihre Spaltendefinitionen und erleichtert deren Pflege.

cmTemplate: {align: 'center', sortable: false, editable: true, width: 80},
...
colModel: [
    {name: 'TypeID', ...},
    {name: 'Order1', template: myTextareaTemplate},
    // ...
]

Beispiel:

#maingrid").jqGrid({
    rowattr: function (rd) {
        if (rd.GroupHeader === "1") { // assuming your checkbox column is named "GroupHeader"
            return {"class": "myAltRowClass"};
        }
    },
    cmTemplate: {align: 'center', sortable: false, editable: true, width: 80},
    colModel: [
        {name: 'TypeID', ...},
        {name: 'Order1', template: myTextareaTemplate},
        // ...
    ]
});

Das obige ist der detaillierte Inhalt vonWie hebe ich Zeilen in jqGrid basierend auf dem Kontrollkästchenwert hervor?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn