Möglich zu verbergen SlickGrid Spalte, OHNE es aus der "Spalten" - array?
Ich würde gerne ausblenden einer Spalte (eine Spalte ID, die einzigartig ist für jede Zeile), aber ich kann nicht entfernen Sie es von der "Spalten" - array, weil ich brauche, dass die Daten in die Zeile, wenn Aktionen durchgeführt werden, die auf die Zeile (selektieren, Sortieren, ect).
Nach der Sortierung zum Beispiel, ich brauche, um zu greifen, die Zeilen entsprechen Sie den früheren Stile, die Sie vorher hatte, und ich kann dies mit der Spalte "ID". Ich brauche die Daten in der Zeile, ich möchte nur nicht, dass Sie angezeigt werden kann.
Dank.
InformationsquelleAutor Kevin | 2011-06-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Antwort ist NEIN, aber das ist nicht die Antwort, die du suchst 🙂
Andere als das, was Spalten sind auf der Suche, um schnappen Sie sich Ihre Daten, es gibt keine Feste Verbindung zwischen Ihnen und dem, was deine Daten Aussehen. Sie nicht haben, um eine Spalte sichtbar, um eine ID haben, die auf Ihre Daten posten.
Binden Sie das raster, um das Daten-array: var Daten = [{id: 0, title: 'element1'}, {id: 1, title: 'item3'}, ...]; Wenn Sie nicht wählen, um die Anzeige der Spalte für die ID, die Daten sind noch da, die auf das Datenelement.
Sie sind der Mann, danke für die Hilfe ein nooby!
Für diejenigen Fragen, wie die übersetzung der Zeile, die auf das raster, um die richtige Zeile in der Daten, hier ist es:
alert(data[args.row].id)
(vorausgesetzt, Sie habenid
in Ihren Daten)So ist die einfache Antwort ist das weglassen der Spalte definition.
InformationsquelleAutor Tin
Falls jemand noch auf der Suche nach dieser, habe ich einen Weg gefunden,... es ist nicht Massiv elegant, aber es funktioniert. Wie Simon vorschlägt, fügen Sie die Id-Spalte als Letzte in der Startaufstellung. Sowohl der cssClass und headerCssClass "display:none !wichtig" und legen Sie die Breite minWidth und maxWidth Spalte Optionen auf 0 wie folgt:
und das css ist:
.reallyHidden { display: none !wichtig;}
Hoffe, das hilft.
Ändern der Größe der Spalte wird-header und Wert der Zelle vermissen ausgerichtet ein wenig.
Beheben Sie die Größe Problem, gehen Sie zu applyColumnWidths in slick.grid.js und fügen Sie in den folgenden
if(columns[i].minWidth == 0 && columns[i].maxWidth == 0 ) { columns[i].width = 0; }
.InformationsquelleAutor user2837841
Es ist nicht möglich, ABER als Abhilfe können Sie die Breite/maxWidth, 1, setzen Sie den Namen auf eine leere Zeichenfolge und legen Sie die Spalte auf der rechten Seite alle anderen Spalten. Etwa so (Beispiel ist in coffeescript, wenn Sie sich unsicher fühlen, über die syntax verwenden http://js2coffee.org/):
InformationsquelleAutor Simon Landeholm
Für diese Art von problem, ich habe zwei arrays. Eine zum anzeigen und die andere für columnPicker. Hier ist, wie,
InformationsquelleAutor HeiN
in Spalten.push({id:id,: name,Hidden:true})
//hidden sorgt dafür, dass die Spalte entfernt wird, während die Bindung grid
InformationsquelleAutor clarifier
Ich weiß, das ist eine alte Frage, aber der richtige Weg, dies zu tun ist, indem Sie einen Datenprovider, verwenden und nutzen getItemMetaData, um Informationen zu liefern, die Sie nicht unbedingt sehen möchten.
Wenn Sie wählen Sie Ihre Reihe, die Sie anrufen können raster.getItemMetaData(cell.Zeile), um den zusätzlichen Informationen, die Sie benötigen. getItemMetaData wird voraussichtlich wieder ein jsonObject beschreiben, Zeilen-und Zell-Ebene Metadaten.
Hier die docs, die es beschreiben.
https://github.com/mleibman/SlickGrid/wiki/Providing-data-to-the-grid
InformationsquelleAutor Damian
Nachdem Sie suchen für einige Antworten zu diesen Fragen, die ich gefunden habe einen workaround, der durchaus funktioniert der trick des Versteckens der Spalte und die Daten dennoch speichern.
Meine anfängliche problem war, dass ich brauchte, um zu verbergen, die ID-Spalte des Rasters, so dass im Grunde versteckte ich die ID-Spalte erstellen, die nur mit dem name-Attribut ohne Angabe nichts anderes, und die Säule wurde dann erstellt, die ich erwarte.
versuchen Sie, um die Breite der Spalte auf eine Breite von mindestens 0.
InformationsquelleAutor R3muSGFX