2016-08-01 78 views
0

セルに色を追加しようとしていますw2uigridです。w2uiセルにカスタムカラーを追加[グリッド]

ドキュメントの後に、セルと行の色を変更することはできますが、個別に行うことができます。単一の行のために

records: [ 
      { recid: 1, fname: 'Jane', lname: 'Doe', email: '[email protected]', sdate: 384052483664, style: {3:'background-color: yellow; color: white;'}}   
     ] 

:単一セルの場合

records: [ 
       { recid: 1, fname: 'Jane', lname: 'Doe', email: '[email protected]', sdate: 384052483664, style: 'background-color: red; color: white;'}   
      ] 

レコードをハードコーディングしていますので、それは大丈夫です。この部分ティル。

質問:

私は、サーバーからデータをロードしていると私はいくつかの条件に基づいたルールを入れていると私はそれに応じて色を変更したいです。

私が理解したことは、私はサーバー上でのみスタイルを追加する必要があるということです(私はPHPとMySQL、btwを使用しています)。以下は

私のサンプルコードです:

$Query = "SELECT @curRow := @curRow + 1 as id ,`x`, `y`, `z`, `a`, `b`, `c`, `d`, `e`, `f`, `g`, `h`, `i` 
     FROM `table_name` JOIN (SELECT @curRow := 0) r"; 
     //echo $Query; 
     $code=mysqli_query($link,$Query); 
     $data = array(); 
     while($row = mysqli_fetch_assoc($code)) 
     { 
      if($row["id"]==1) 
      { 
       //$row['expanded']="'spinner'"; 
       //$object = (object) ['style' => "{ 5: 'color': 'red'; 'background-color': 'whilte' }"]; 
       //$row['style']=$object; 
       $row['style']= "3:'background-color: red; color: black;'"; 
      } 
      //var_dump ($row); 
      $data[] = $row; 
     } 
     $arr = array("total" => count($data), 
     "records" => $data); 

Assueme if($row["id"]==1)こっちスタイルパーツを追加しようとしていますので、ルールの一つです。コードが見える場合は、スタイルを追加するために複数の方法を試しました。それだけでは機能しません。しかし、PHPを使用して行を印刷している場合は、行をコード化する方法とまったく同じです(上記の単一セルスタイルのコードを参照してください)。しかしそれはテーブルに反映されていません。

セカンドquesstion

私は行が1色に着色し、その上に、私は違った一人の個人のセルに色を気に入るだろう持っているとします

(二つの異なるルール、coloumnsの行のために1つずつ)。私は最初の要件を達成することができなかったので、私はこの問題に多くの時間を費やしませんでした。私は、行の高さを動的にすることができますどのように

3番目の質問

?私は列名がresponseで、その行の内容が幅を超えたときに固定幅を割り当てているとします。利用可能な幅の後に...と表示されます。私は次の行にそれを示したい。それは可能ですか?

ありがとうございました。あなたの最初の質問に答えるために

答えて

1

styleので、サーバー側で、それはjson_encode()

に渡された上で、後だ配列でなければなりません、それはクライアント側に到着したときにJSONオブジェクトである必要があります

$row['style'] => array('5' => 'background-color: red; color: black;'); 
... 
$result = json_encode($row); 

はあなたの2番目の質問に答えるために

w2ui 1の最新バージョン。5は、レコード上のclassstyleの両方の属性をサポートします。

ので、行と行内の単一のセル異なっ色を着色する、あなたが使用できます。

records: [ 
    { recid: 1, fname: 'Jane', lname: 'Doe', class: 'my-css-class-for-the-row', style: {3: 'background-color: yellow; color: white;'} }   
]; 

styleclassは、両方の文字列またはオブジェクトのいずれかになりますので、あなたにも可能性それ以外の方法で行い、styleを使用して行全体を色づけし、classを特定のセルに色付けします。


はあなたの3番目の質問に答えるために:

行が原因で仮想スクロールの、ダイナミックな高さを持つことができません。つまり、すべての行の高さが同じでなければなりません。ただし、これはw2uiの最新バージョン1.5を必要とし、列グループと一緒に使用する場合には風変わりに見える、再び

grid.recordHeight = 40; // height in pixels

ですべての行の高さを変更することができます。

+0

行にカスタムCSSを使用できますか?または、私が従う必要がある特定の形式がありますか? – driftking9987

+0

通常はCSSを使用できます。場合によっては、CSSプロパティに '!important'を追加する必要があるかもしれないので、ブラウザがw2uiのデフォルト(またはjquery-uiやブートストラップなど他のスタイルシートから取り込んだスタイル)を上書きするように強制することができます。 –

関連する問題