FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: ch.eick am 20 Januar 2023, 11:52:12

Titel: DOIF uiTable format
Beitrag von: ch.eick am 20 Januar 2023, 11:52:12
Hallo zusammen,
kann ich in einem DOIF uiTable Zeilen mit einer unterschiedlichen Anzahl von Spalten darstellen?
Im Screenshot habe ich einen Report aus der datenbank dargestellt und würde dafür gerne in der Zeile die restlichen Spalten auflösen.

Ich komme da irgendwie mit der Zeilen/Spalten Formatierung nicht klar.

{
package ui_Table;
##  $TR{0} = "style='color:yellow;text-align:left;font-weight:bold;font-size:18px'";                                                         ## Reihe 0 für Überschrift
  $TABLE = "style='width:100%;'";

  $TD{0..9}{0}     = "align='center' style='font-size:16px;border-right-style:solid;border-color:darkgreen;border-right-width:2px;width:26%'";

  $TD{0..9}{1} = "style='border-top-style:solid;border-bottom-style:solid;border-right-style:solid;border-color:darkgreen;border-top-width:2px;border-bottom-width:2px;border-right-width:1px;width:36%;font-weight:bold;'";
  $TD{0..9}{2..4} = "style='border-top-style:solid;border-bottom-style:solid;border-right-style:solid;border-color:darkgreen;border-top-width:2px;border-bottom-width:2px;border-right-width:1px;width:8%;text-align:center;'";
  $TD{0..9}{5} = "style='border-top-style:solid;border-bottom-style:solid;border-right-style:solid;border-color:darkgreen;border-top-width:2px;border-bottom-width:2px;border-right-width:2px;width:8%;text-align:center;'";
}

"$SELF"|"" |""|""|""|""

"" |
widget([$SELF:BEV_DateTime],"datetime,step:15,inline:true,format:Y-m-d_H:i") |
widget([$SELF:BEV],"uzsuDropDown,---,Kia_eNiro,Gast")."<br>".widget([$SELF:BEV_TYPE],"uzsuDropDown,---,Karte_1,privat,kostenfrei") | widget([$SELF:BEV_lp_1_kWhActualCharged],"selectnumbers,0,1,100,0,lin")."kWh" |
widget([$SELF:BEV_lp_1_kWhActualCost],"selectnumbers,2,0.1,100,2,lin")."Eur" |
widget([$SELF:ui_command_1],"uzsuDropDown,---,add,delete,report,report_clear")

"" |
[$SELF:BEV_DateTime].":00" |
[$SELF:BEV] |
[$SELF:BEV_lp_1_kWhActualCharged]." kWh" |
[$SELF:BEV_lp_1_kWhActualCost]." Eur" |
[$SELF:BEV_TYPE]

""|
"".[$SELF:BEV_last]."" |
""|
""|
""|
""


VG  Christian
Titel: Antw:DOIF uiTable format
Beitrag von: Damian am 20 Januar 2023, 12:57:38
Wenn du am Ende der Zeile davor das Zeichen < setzt, dann wird unmittelbar eine neue Tabelle begonnen - diese kann dann eine Spalte haben.
Titel: Antw:DOIF uiTable format
Beitrag von: ch.eick am 20 Januar 2023, 14:13:37
Zitat von: Damian am 20 Januar 2023, 12:57:38
Wenn du am Ende der Zeile davor das Zeichen < setzt, dann wird unmittelbar eine neue Tabelle begonnen - diese kann dann eine Spalte haben.
Okay, das klappt schon mal :-)

Hast Du auch noch einen Tip, wie man die Tabelle gleichmäßiger reagieren lassen kann, wenn das Fenster kleiner/größer wird?
Ich habe jetzt Zeile 4 auch neu Formatiert.

{
package ui_Table;
##  $TR{0} = "style='color:yellow;text-align:left;font-weight:bold;font-size:18px'";                                                         ## Reihe 0 für Überschrift
  $TABLE = "style='width:100%;'";

  $TD{0..3}{0} = "align='center' style='font-size:16px;border-right-style:solid;border-color:darkgreen;border-right-width:2px;width:26%'";

  $TD{0..3}{1} = "style='border-top-style:solid;border-bottom-style:solid;border-right-style:solid;border-color:darkgreen;border-top-width:2px;border-bottom-width:2px;border-right-width:1px;width:36%;font-weight:bold;'";
  $TD{0..3}{2..4} = "style='border-top-style:solid;border-bottom-style:solid;border-right-style:solid;border-color:darkgreen;border-top-width:2px;border-bottom-width:2px;border-right-width:1px;width:8%;text-align:center;'";
  $TD{0..3}{5} = "style='border-top-style:solid;border-bottom-style:solid;border-right-style:solid;border-color:darkgreen;border-top-width:2px;border-bottom-width:2px;border-right-width:2px;width:8%;text-align:center;'";

  $TD{4}{0} = "align='center' style='font-size:16px;border-right-style:solid;border-color:darkgreen;border-right-width:2px;width:26%'";
  $TD{4}{1} = "style='border-bottom-style:solid;border-right-style:solid;border-color:darkgreen;border-bottom-width:2px;border-right-width:1px;width:69%;font-weight:bold;'";

}

"$SELF"|"" |""|""|""|""

"" |
widget([$SELF:BEV_DateTime],"datetime,step:15,inline:true,format:Y-m-d_H:i") |
widget([$SELF:BEV],"uzsuDropDown,---,Kia_eNiro,Gast")."<br>".widget([$SELF:BEV_TYPE],"uzsuDropDown,---,Karte_1,privat,kostenfrei") | widget([$SELF:BEV_kWhActualCharged],"selectnumbers,0,1,100,0,lin")."kWh" |
widget([$SELF:BEV_kWhActualCost],"selectnumbers,2,0.1,100,2,lin")."Eur" |
widget([$SELF:ui_command_1],"uzsuDropDown,---,add,delete,report,report_clear")

"" |
[$SELF:BEV_DateTime].":00" |
[$SELF:BEV] |
[$SELF:BEV_kWhActualCharged]." kWh" |
[$SELF:BEV_kWhActualCost]." Eur" |
[$SELF:BEV_TYPE]

|"Statistik Ladeleistung<dd>lp_1<br>lp_2</dd>"|
"<br>Kia_eNiro<br>Gast"|
|
"Monat/Vormonat<br>".sprintf("%03d / %03d",[$SELF:Kia_eNiro_kWhCounter_Month],[LogDBRep_Statistic_previous_Month:$SELF_Kia_eNiro_kWhCounter_Month])."<br>".sprintf("%03d / %03d",[$SELF:Gast_kWhCounter_Month],[LogDBRep_Statistic_previous_Month:$SELF_Gast_kWhCounter_Month])|
"Jahr/Vorjahr<br>".sprintf("%04d / %04d",[$SELF:Kia_eNiro_kWhCounter_Year],[LogDBRep_Statistic_previous_Year:$SELF_Kia_eNiro_kWhCounter_Year])."<br>".sprintf("%04d / %04d",[$SELF:Gast_kWhCounter_Year],[LogDBRep_Statistic_previous_Year:$SELF_Gast_kWhCounter_Year])<

""|
[$SELF:BEV_last]
Titel: Antw:DOIF uiTable format
Beitrag von: Damian am 20 Januar 2023, 14:43:09
Diesen Versatz habe ich bei mir nicht, es muss irgendetwas mit deiner Formatierung zu tun haben.

Du kannst mal separat testen:


"erste Spalte"|"zweite Spalte"|"dritte Spalte"<
"erstepalte"<
"erste Spalte"|"zweite Spalte"|"dritte Spalte"
Titel: Antw:DOIF uiTable format
Beitrag von: ch.eick am 20 Januar 2023, 14:56:10
Zitat von: Damian am 20 Januar 2023, 14:43:09
Diesen Versatz habe ich bei mir nicht, es muss irgendetwas mit deiner Formatierung zu tun haben.

Du kannst mal separat testen:
"erste Spalte"|"zweite Spalte"|"dritte Spalte"<
"erste spalte"<
"erste Spalte"|"zweite Spalte"|"dritte Spalte"

Mein Problem war am Anfang, dass ich unterschiedlich breite Spalten haben wollte und diese dann auch auf das Browser Fenster reagieren sollten.
Daraufhin habe ich die Spalten jetzt mit prozentualer Breite angegeben, was aber anscheinend nicht mit dieser Variante von zwei Tabellen zusammen passt.