Autor | Zpráva | ||
---|---|---|---|
kyklop Profil |
#1 · Zasláno: 3. 4. 2006, 14:22:30
Zdravím,
byl by někdo ochoten mi na názorném příkladu vysvětlit použití UI komponenty DataGrid? Docela by mne zajímalo, co to umí, ale nějak se v tom neumím pořádně zorientovat.. díky |
||
Časová prodleva: 9 dní
|
|||
fenrir Profil * |
#2 · Zasláno: 12. 4. 2006, 12:42:20
No co umí komponenta dataGrid
Takže defakto umí vkládat sama do sebe objekty, movie clip, combobox, prostě jakejkoliv objekt. Použití je docela jednoduché... //import as import mx.controls.gridclasses.DataGridColumn; // zaregistrujeme styly (barvy) mx.styles.StyleManager.registerColorName("claropcrj", 0xffebcc); mx.styles.StyleManager.registerColorName("pcrj", 0xffae5e); mx.styles.StyleManager.registerColorName("escuropcrj", 0xff9900); mx.styles.StyleManager.registerColorName("line", 0xA2A6A9); // nadefinujeme styl pro GRID styl se bude jmenovat newStyle _global.styleObj.styleName = "newStyle"; styles.newStyle = styleObj; styleObj = _global.styles.newStyle=new mx.styles.CSSStyleDeclaration(); styleObj.fontFamily = "_sans"; styleObj.fontSize = 10; styleObj.fontWeight = "bold"; styleObj.color = "black"; styleObj.setStyle("backgroundColor", "claropcrj"); // grid je umístěn v movie PS.kontakty a jmenuje se kontaktyGrid PS.kontakty.kontaktyGrid.setStyle("styleName", "newStyle"); // přiřadíme styl PS.kontakty.kontaktyGrid.setStyle("hGridLines", true); // zobrazovat horizontalni linky ? PS.kontakty.kontaktyGrid.setStyle("hGridLineColor", 0xA2A6A9); // barva hor. linek PS.kontakty.kontaktyGrid.setStyle("themeColor", "pcrj"); // barva pozadí barvy jsou nastaveny dle stylu které se nastavují na začátku PS.kontakty.kontaktyGrid.setStyle("rollOverColor", "escuropcrj"); PS.kontakty.kontaktyGrid.setStyle("textRollOverColor", "black"); PS.kontakty.kontaktyGrid.setStyle("selectionEasing", "escuropcrj"); PS.kontakty.kontaktyGrid.setStyle("selectionColor", "pcrj"); PS.kontakty.kontaktyGrid.setStyle("textSelectedColor", "black"); PS.kontakty.kontaktyGrid.hScrollPolicy = "on"; // chceme zobrazit horizontální scroll, pokud todle zakomnuješ tak tam nebude PS.kontakty.kontaktyGrid.maxHPosition = 3740; // celková delka gridu to znamená jak je vlastně dlouhej ten grid co můžeš horizontálně posouvbat // pokud zadáš pouze hScrollPolicy = "on"; tak sice bude dlouhej dle těch položek ale horizontální linky mezi buňkama tam nebudo teda budou ale jenom částečně // Nadefinujeme jednotlivé sloupce var column = new DataGridColumn("0"); column.headerText = "Odstr."; column.width = 35; column.resizable = false; PS.kontakty.kontaktyGrid.addColumn(column); var column = new DataGridColumn("1"); column.headerText = " Upr."; column.width = 35; column.resizable = false; PS.kontakty.kontaktyGrid.addColumn(column); var column = new DataGridColumn("2"); column.headerText = " Typ spojení"; column.width = 120; column.resizable = false; PS.kontakty.kontaktyGrid.addColumn(column); var column = new DataGridColumn("3"); column.headerText = " Spojení"; column.width = 210; column.resizable = false; PS.kontakty.kontaktyGrid.addColumn(column); // První sloupec bude červenej a druhej modrej PS.kontakty.kontaktyGrid.getColumnAt(0).setStyle("backgroundColor", 0xA4D1FF); PS.kontakty.kontaktyGrid.getColumnAt(1).setStyle("backgroundColor", 0xFFB7B7); // definujeme proměnou myarray myArray = new Array(); myArray[0] = new Array(); myArray[0][0] = "test"; myArray[0][1] = "test"; myArray[0][2] = "test"; myArray[0][3] = "test"; myArray[1] = new Array(); myArray[1][0] = "test"; myArray[1][1] = "test1"; myArray[1][2] = "test2"; myArray[1][3] = "test3"; //naplníme grid PS.kontakty.kontaktyGrid.dataProvider = myArray; /// tak a taky nějakou událost by jsem mohli zpracovávat display = new Object(); display.cellPress = function(evt) { dat = ""; // evt.itemIndex je číslo řádku na které je kliknuto a to [0] je sloupec z kterého chi zíkat hodnotu dat = PS.kontakty.kontaktyGrid.dataProvider[evt.itemIndex]["0"]+"#@!HONZA"; // Taky můžem zjistit na jakej column, sme vlastně klikli column = evt.columnIndex.toString(); // nebo ten řádek jak už sem to psal radek = evt.itemIndex.toString(); // Zjistíme jestli není záznam prázdnej jinak by to nebylo funkční a reagovalo by to i na prázdné řádky, musí se to testovat na sloupci kterej je vždycky vyplněnej if (dat != "undefined#@!HONZA") { } }; // událost cellPress PS.kontakty.kontaktyGrid.addEventListener("cellPress", display); Kdyby něco tak ještě napiš zatím čau honza.... |
||
Fenrir Profil |
#3 · Zasláno: 12. 4. 2006, 12:44:21
To co jsem napsal v tom předchozím příspěvku tak je možnost jak tam vkládat prostej text, pokud by jsi potřeboval vkládat objekty tak to je trochu složitější ale jde to já to používam na zobrazení stavů abych tam nepsal ano - ne nebo 1 - 0 tak tam prostě zobrazím červenej nebo zelenj zaškrtávák nebo fajfku...
|
||
kyklop Profil |
#4 · Zasláno: 13. 4. 2006, 06:39:33
Dík moc, mrknu na to, kdybys jako chtěl, mohl bys pro mne udělat jako takový příklad, dejme tomu s comboboxem, a nějakýma jinýma UI komponentama a dal by se tam dejme tomu umístit nějaký inputtext, případně zapisovatelné pole? A¨ještě jedna technická. Pak se ta data z toho vytahujou jak? Samozřejmě se na to budu snažit přijít sám, ale znám se, stejně bych se na to časem zeptal a tak se raděi ptám hned ;-)
|
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0