2016-12-01 5 views
0

Ich habe eine Tabelle von einem TableViewer abgeleitet. Die Tabelle hat viele Spalten. Ich möchte einige der Spalten basierend auf einer Bedingung ausblenden. So programmiere ich columnWidth (0) und ändere die Größe für diese Tabellenspalte auf "false", d. H.TableViewer -> SetWidth (0) Problem in MAC

column.setWidth (0); column.setResizable (false);

Ich bekomme einen grauen Rahmen, wenn ich die oben genannten Steuerelemente verwenden, um in MAC zu verstecken. Grey Color

Könnte jemand mir helfen, wie diese graue Farbe am Ende in MAC angehängt werden kann? Hinweis: Dies funktioniert in Windows-Systemen. Die Breite des greycolor ist propotional auf die Anzahl der Spalten I :(

+2

'Ich habe eine Tabelle der von einem TableViewer erhalten - bitte geben Sie einen [MCVE] (http://stackoverflow.com/help/mcve) mit diesem Code ein. Ich habe gerade [diese verwandte Antwort] (http://stackoverflow.com/a/12517882/3300205) auf meinem Mac getestet und es hat gut funktioniert. – avojak

+0

@avojak: Vielen Dank für einen Verweis auf das Beispiel zu überprüfen. Leider ist das Problem immer noch mit dem Beispiel, das Sie zeigten, wenn Sie es mehr als 30 Spalten machen. In dem Beispiel erwähnt, gibt es nur 2 Spalten. Erhöhen Sie die Anzahl von Spalten und Sie können das erwähnte Problem in MAC sehen. – user3844744

Antwort

3

verstecken Ich habe dies erwähnt in einem meiner other answers: OSX eine minimale Breite für Spalten erfordert, dh Sie nicht die Spalte ant schmaler machen dieses Minimum als (wahrscheinlich nur ein paar Pixel, daher der grau).

Comment 11 of this Bug report dies auch erwähnt.

Also, ich habe Angst um die Spalte zu verstecken, ist keine Option. Sie könnten jedoch dispose() es, aber dann müssten Sie es neu erstellen, um es wieder zu bekommen.

+0

: Vielen Dank für die Antwort.Wird es andere Problemumgehung geben, die mir helfen können, dieses Problem zu lösen? Meine Spalten sind dynamisch.Auf der Grundlage der Anwendungsfall ändert sich die Anzahl der Spalten.Wenn es mehr als 30 Spalten zu zeigen, diese grau gefärbten Pixel sieht sehr hässlich aus. – user3844744

+0

@ user3844744 Keine, die ich kenne. – Baz

+2

@ user3844744 Sie könnten die Spalte "dispose()", aber dann müssten Sie sie neu erstellen, um sie zurück zu bringen. – Baz