PDA

View Full Version : Kretik to make a complaint



DetBerlin
25 Nov 2012, 10:20 AM
>:)>:)>:)>:)>:)>:)>:)>:)

LEUTE............

es ist nicht nach vollziehbar was ihr da geschrieben habt....

wegen den einfachsten sachen bin ich mehrere tage am suchen....
und wenn ihr einem beschreibt wie es gehen soll, funktioniert es nicht....

Grid....
1. autoselect (first row)
2. set empty row
(grid in voller höhe wie mann sie angibt mit leeren zeilen auffüllen auch wenn keine daten vorhanden sind)

Combobox....
1. listbox width
...........................usw etc.

irgendwie kommt es mir so vor als wäre es alles nur zusammen gekehrt und es steckt keine planung dahinter
so richtige Datenbanktools sind das keine und programmierung ist das jedenfalls auch nicht.

dann tausend mal die gleichen beschreibungen für jedes einzelne Control und dann funktionieren nicht einmal alle
api's die ihr dort angebt.


und nun das ganze nochmal auf englisch für die Freunde aus den Staaten.....

PEOPLE ............

it is not enforceable by what you have written here ....
because of the simplest things I am looking for several days ....
and if ye one describes how to proceed, it does not work ....

Grid ....
1. autoselect (first row)
2. set empty row
(grid full height as it indicates man with blank lines fill up even if no data are available)

combo ....
listbox width ........................... etc etc.
somehow it seems to me as if it were just swept everything together and there's no planning behind so proper database and programming tools are not the least this is not. then a thousand times the same descriptions for each control and then do not work once all the api's angebt her there.

Arg0n
26 Nov 2012, 1:15 AM
Wenn du das Gird auf voll Höhe haben willst, gibt es da mehrere Möglichkeiten. Zum einer kannst du die 'height' (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.AbstractComponent-cfg-height) setzen. Das würde dem Grid aber ne feste Höhe geben und sich nicht anpassen.

Die beste Variante ist da wohl mit layout: 'fit' (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.enums.Layout) (layout im Panel (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.container.AbstractContainer-cfg-layout)) zu arbeiten. Das darf aber nicht im Grid selbst stehen, sondern in dem Container oder Panel welcher das Grid umgibt.

Um eine Zeile im Gird automatisch zu selektieren, gibt es das SelectionModel (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.selection.Model). Das kann mit grid.getSelectionModel() (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.panel.Table-method-getSelectionModel) geholt werden und mit der methode select (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.selection.Model-method-select) kann ein Datensatz ausgewählt werden.


grid.getSelectionModel().select(0); //erste Zeile auswählen

Das mit der Combobox raff ich nich ^^


In english please!!!

If you want to set a heigt for your grid, you can use the height (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.AbstractComponent-cfg-height) config. Problem is, this wont make your grid dynamicly fit the whole area. So you can use layout: 'fit' (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.enums.Layout) instead. Attention!!! This config needs to be in the container or panel, which is sourrounding your grid: layout in panels (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.container.AbstractContainer-cfg-layout).

To select a row in a grid use the selectionModel (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.selection.Model). You can get it with: grid.getSlectionModel() (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.panel.Table-method-getSelectionModel). The row can be selected with the method select() (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.selection.Model-method-select).


grid.getSelectionModel().select(0); //selects the first row

And I don't get your point with the combobox o.O

DetBerlin
26 Nov 2012, 8:29 AM
Wenn du das Gird auf voll Höhe haben willst, gibt es da mehrere Möglichkeiten. Zum einer kannst du die 'height' (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.AbstractComponent-cfg-height) setzen. Das würde dem Grid aber ne feste Höhe geben und sich nicht anpassen.

ist genau das was ich mache.... ich gebe die höhe vor, sowohl für die Grid selbst, wie auch die cellhöhe.
ich habe jetzt nur das problem das die leeren zeilen nicht angezeigt werden.

siehe bild1

bild1
40352


Ich würde es gern so anzeigen lassen
siehe bild2

bild2
40353



Die beste Variante ist da wohl mit layout: 'fit' (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.enums.Layout) (layout im Panel (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.container.AbstractContainer-cfg-layout)) zu arbeiten. Das darf aber nicht im Grid selbst stehen, sondern in dem Container oder Panel welcher das Grid umgibt.

kann ich nicht nehmen weil ich die Grid nicht allein auf dem panel anzeigen lasse, sondern es sind noch
Textfelder mit auf dem panel.


Um eine Zeile im Gird automatisch zu selektieren, gibt es das SelectionModel (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.selection.Model). Das kann mit grid.getSelectionModel() (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.panel.Table-method-getSelectionModel) geholt werden und mit der methode select (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.selection.Model-method-select) kann ein Datensatz ausgewählt werden.

funktioniert nicht....... fehlt noch etwas.

ganz wichtig bei dieser funktion ist das der timeout auf 1000 festgelegt werden muss.

das ganze sieht dann wie folgt aus....


setTimeout(function(){Grid.getSelectionModel().select(0);}, 1000);


so.... nur ganz kleine informationen die fehlen haben große wirkungen...
wo wir wieder mal mein obriges posting bestätigen....

falls ihr euch jetzt fragt wieso setTimout? ganz einfach....
die selection vom ersten Row bzw Datensatz kann nicht erfolgen weil die Datensätze zu schnell eingelesen werden und damit auch zu schnell angezeigt. durch den timeout gebt ihr der Grid die möglichkeit den ersten row auszuwählen um ihn zu selectieren.


und nun zur

Combobox siehe bild3

bild3
40351



bilder Sagen mehr als worte.....

Arg0n
26 Nov 2012, 9:12 AM
Das mit den leeren Zeilen könnte man simulieren, indem du leere Datensätze in den Store haust. Ansonsten müsste man die Grid.view dafür anpassen bzw. ein Plugin basteln. Das wird von ExtJs nativ nicht unterstützt :x

Das mit der Selection is mir neu, ich hab das auch schon gemacht ohne das TimeOut. Najaaa ^^

Um die Selection Liste zu manipulieren, brauchst du CSS. Dafür gibts die cls (http://docs.sencha.com/ext-js/4-1/#!/api/Ext.AbstractComponent-cfg-cls) in der ComboBox. Ich wette standard is da ne mindest Breite gesetzt. Kannst ja deine eigene Klasse für baun =)

DetBerlin
26 Nov 2012, 10:16 AM
mann mann mann....

jetzt bin ich dabei ein reload einer liste durchzuführen

folgender plan...

ich habe eine liste dazu habe ich 4 button
jeder button ist mit einem store versehen welcher die jeweilige datenbanktabelle auswählt.

button1 db - tabelle (artikel1)
button2 (artikel2) usw.

bei klick auf button1 soll die dbtabelle artikel1 eingelesen und in der grid angezeigt werden
bei klick auf button2 soll artikel2 eingelesen werden und die daten von der artikel1 sollen nicht mehr angezeigt werden.....
also immer nur die daten aus der jeweiligen datenbanktabelle
ich hoffe ihr versteht was ich meine.

kann mir jemand erklären wie es geht?

achso.... bevor die frage kommt.... ja es sind alle datenbanktabellen gleich aufgebaut.

aber prüfen bevor ihr es postet


so langsam komme ich zu dem schluss das dieses Ext-Js wirklich nicht für den professionellen gebrauch ist....

ich versuche hier ein komplett neues projekt zu verwirklichen aber ich komme immer wieder an grenzen...
das nervt ganz schön.....

Arg0n
29 Nov 2012, 2:23 AM
Eigentlich ist ExtJs wie ne Frau zu behandeln ^^

Code Beispiele zu testen, bevor man sie hier postet bedeutet großen Aufwand. Besonders bei deinem Beipsiel. Ich müsste mir jetz ne db aufsetzen mit 3 Tabellen, dann noch n PHP Script schreiben, welches mir die Daten liefert und ne kleine ExtJs Anwendung. Da hat glaub ich keiner Lust zu ;P

Grids benutzen ja Stores und Stores haben Proxys und Models... blabla. Du definierst die also ein Model mit den Feldern die du brauchst:



Ext.define('Article', {
extend: 'Ext.data.Model',
fields: [
{name: 'author', type: 'string'},
{name: 'date', type: 'string'},
{name: 'content', type: 'string'}
//usw....
]
});


Dann noch den Store dazu:



Ext.define('Article', { {
model: 'Article',
proxy: {
type: 'ajax',
url: '/controller/get-articles', //kA wie dein Routing funzt ^^
reader: {
type: 'json'
}
},
autoLoad: false
});


Jetzt packst du den store in das Grid: store: 'Article'

Bei nem Klick auf den Button machst du nun folgendes:



grid.getStore().load({
params: {
table: 'name der tabelle'
}
});


Nun liest du den Parameter im PHP Script aus und lädst die Daten von der entsprechenden Tabelle o.O ... und zurck an ExtJs übergeben nich vergessen ^^