投稿

2016の投稿を表示しています

Salesforce の pageBlockTable のヘッダー行クリックでソートする方法

イメージ
仕事で Salesforce を使ったシステムを開発していて 「一つの画面に複数の表を 表示する」 という機能の実装時にハマったのでメモ。 ちなみに、以下は作りたかったの画面の例。 (一日の気温を、一時間毎の表・一日の平均の2つ表示してみたい) 2つの表は pageBlockTable でよいのだけれど、問題はソート機能。 Salesforce のオブジェクトのビューでは、表のヘッダー行クリックでソートができる。 ただし pageBlockTable を使った表には、その機能はない。 (同じことをやろうとすると、ソート機能を実装し直さなければいけないっぽい) 簡単に同様のことをやれないか、ググッてみると以下の記事を発見!! 要は、 DataTables という jQuery のプラグインが良さげらしい。 Client-side sorting and pagination of an apex:pageBlockTable これを基に、冒頭の例の画面を作ってみよう。 まずは、気温オブジェクトを作る。 テストデータは、 気象庁 のページを元に、手入力でポチポチ入れる。 次に、 DataTables の Getting started  を参考に、Visualforce page, component, Apex を作成。 (VF page は VF component を呼び出すのみ) このようにすると、冒頭の画像のように ページング 検索 ソート 機能を表に付けることができた。 気をつけなければいけないのは、このページング・検索・ソート機能は都度 SOQL をクエリするのではなく、初めに取得したレコードの表示順を変えているという点。 なぜかというと、SOQLは確かガバナ制限で5万件までしか結果を取得できなかったはず。 なので、例えば5万1件あるレコードに対して、表のヘッダー行クリックで ASC -> DESC のようにソートした時、5万件目のレコードが一番上に表示されることになってしまう。(本来、5万1件目が一番上に表示されてほしい) まあ、直近5万件も一気に取得することはないと思う。。。 なので、これで十分という気がしている。

Ubuntu 16.04 (Xenial Xerus) にアップグレードしたら、i3 (Window Manager) に異変が・・・

イメージ
15.10 の時から、i3 という「タイル型ウィンドウマネージャ」を使っている。 アプリを開くたび、ウィンドウの位置を自動で決めてくれるのが良い。 (折角なので、紹介動画も置いてみる。英語だけど) 先日 16.04 にアップグレードしたら、i3 でちょっとした問題に当たった。 アプリのメニューバーの高さが、以前より大きくなってしまったのだ。 Unity では unity-control-center で変更できるのだが、i3 から同じように変更しようとすると以下のエラーとなる。 $ LANG=C unity-control-center display ** (unity-control-center:5300): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-406i2IwLSF: Connection refused ** (unity-control-center:5300): WARNING **: Could not find settings panel "display" 「display という設定パネルがない」とのこと。 まあ、アップグレードすると大体どこかしらおかしくなるもの・・・ いざとなれば、新しい UI に自分が慣れればいいとは思うが、こうなった原因は気になるなぁ・・・ (そもそも、16.04 にした直後はこんな異常はなかった。次に Unity 起動して、また i3 起動したら本現象) とりあえず、i3 をアンインストール -> インストールしなおしてみるか。 === 追記 === 再度 i3 ログインしたら、本現象が直ってた。要は アンインストールするためには、i3 以外のウィンドウマネージャでログインしないとな・・・一回終了するか sudo shutdown -h now 起動ポチー 「Unity でログインしなおそう」としたら、ログイン画面のメニューの高さが全体的に小さい (元に戻っている気がする) i3 でログインしてみる -> 本現象が直ってた という感じ。 でも、unity-control-cen

信州から関東へ引っ越してみた

私用により、信州(上田市)から関東(横浜市)へ引っ越しました。 住んでみて3日めだが、信州と関東の違いが色々あって面白い&&慣れるまで一苦労。以下一例 ごみ袋 市が指定する袋を購入する(上田) 半透明であれば何でも良い(横浜) スーパーの駐車場 ほぼ無料(上田) 基本有料(横浜) 3月の気温(夜間) 昼間との差が激しい。日中10℃以上でも、夜間マイナスになる場合あり(上田)  昼間との差が緩やか。日中は上田よりちょっと暖かい。夜間はひと桁台(横浜) 移動手段 基本、車。そのため、道幅は広い。ペーパードライバーでも何とかなりそう(上田) 基本、自転車 or 徒歩。そのためか、道幅は狭い。ペーパードライバーはかなりキツい(横浜) きっと、 他にも色々出てくるんだろうな〜