Hallo, ich will dass in einem StringGrid wenn ein String 'ASC' vorkommt ein 'Aufsteigend' anzeigen
lassen und wenn ein 'DESC' vorkommt ein 'Absteigend' darstellen!
In Java mache ich das so:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42:
| JTable table; Vector data; Vector cols;
cols = new Vector(); cols.add("Feldname"); cols.add("Auf/Absteigend");
data = new Vector();
Vector temp = new Vector();
temp.add("Name"); temp.add("ASC");
data.add(temp);
temp = new Vector();
temp.add("Vorname"); temp.add("DESC");
data.add(temp); // So jetzt habe ich Daten fertig um eine 2 Spaltige Tabelle mit zwei Zeilen zu erstellen
table = new JTable(data, cols); table.setDefaultCellRenderer(table.getColumnClass(0), new MyRenderer()); // ob jetzt die Methodennamen richtig // geschrieben habe? Na ja hab jetzt // mehr mit Delphi zu tun private class MyRenderer extends JLabel implements DefaultCellRenderer { public Component getComponent(value Object, int row, int column, boolean hasFocus ...) // na ja so umsgefähr { if(column = 1) { if(((String)Object).equals("ASC")) setText("Aufsteigend") else setText("Absteigend"); } return this; } } |
in der class MyRenderer wird hiermit bestimmt bei welchen Daten was er Anzeigen soll, wie gehts in Delphi?
// EDIT
OK, ich habe einfach abgefragt ob 'ASC' dann Aufsteigend ausgegeben und wenn 'DESC' kommt dann 'ABSTEIGEND' ausgegeben!
Und renderer wäre in der OnDraw proceduren!