2016-06-22 9 views

Antwort

1

Ich werde meine Erfahrungen beziehen. Ich habe eine Tabelle, die beim Klicken in einer Zeile eine weitere Abfrage in meinem Dashboard ausführt. Was ich getan habe, und ich weiß nicht, ob dies der beste Weg ist, einen JavaScript-Code auszuführen, wenn ich auf die Tabelle klicke und überprüfe, ob die Spalte, auf die ich die Informationen brauche, die ist.

In der "clickAction" Eigenschaft der Tabellenkomponente, habe ich diese js:

function f(e){ 
    if(e.category == 'COLUMN_NAME_DESIRED') 
    { 
     Dashboards.fireChange('my_variable', e.value); 
    } 
} 

Und ich habe eine andere Tabelle Komponente 'my_variable' hören. Wenn sich der Wert ändert, lädt das Dashboard diese andere Komponente.

In Ihrem speziellen Fall, würde ich dies tun:

function f(e){ 
    if(e.category == 'COLUMN_NAME_1') 
    { 
     alert('this row represents X'); 
    } 
    if(e.category == 'COLUMN_NAME_2') 
    { 
     alert('this row represents Y'); 
    } 
} 

Nun, wenn Sie ein Pop-up-Dialog und nicht ein js verwenden möchten: alert, suchen Sie nach einigen CSS-Beispiele. Ich denke, es würde dir helfen.

EDIT 2017:

Ich möchte eine andere Art und Weise präsentieren (vielleicht eine bessere Art und Weise), um die Zeilen in einer Tabelle zuzugreifen. Nun, was ich tue, ist dies:

e.rowIdx gibt den Index für die Zeile, die ich klicke. Wenn ich e.tableData [e.rowIdx] verwende, kann ich alle Spalten in dieser Zeile abrufen, und wenn ich weiß, welche Spalte mir den gewünschten Wert gibt, kann ich mit dem Spaltenindex darauf zugreifen.