SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Curlで構築する長崎電子県庁システム(DBメンテナンスツール編)(AD)

Curlで構築する電子県庁システム(DBメンテナンスツール編)
アクセス制御と画面内検索をGUIで実現する

第3回

  • このエントリーをはてなブックマークに追加

2.画面内検索

 2つ目は、「カラムが100以上もあるようなテーブルだと、目的のカラムがどこにあるのか探すだけでも大変なんです」という相談です。

 これを解決するために、検索ダイアログを追加して、すぐにたどりつけるようにしました。

データ入力画面(カラムが多いと、目的のカラムをなかなか見つけることができない)。
データ入力画面(カラムが多いと、目的のカラムをなかなか見つけることができない)。
追加した画面内検索ダイアログ
追加した画面内検索ダイアログ

 入力画面に表示しているカラム名をリストに表示しています。英名、和名に文字を入力すると、その文字に該当するカラムのみリストに表示されます。

絞込み後画面内検索ダイアログ
絞込み後画面内検索ダイアログ

 リストからカラムを選択して、「ジャンプする」をクリックすると対象カラムに移動します。

 移動する際に、ScrollBoxの「scroll-to-object」メソッドを使用しています。「scroll-to-object」はScrollBoxをスクロールして、指定したオブジェクトを表示してくれます。例えば下図のサンプルでは、ボタンをクリックするとデータ10が表示される位置までScrollBoxがスクロールします。

scroll-to-objectの例
scroll-to-objectの例

 このサンプルのソースは以下のとおりになります。

scroll-to-objectのロジック
{let v_text10:TextFlowBox = {TextFlowBox "データ10"}}
{let v_sc:ScrollBox =
  {ScrollBox
    width=3cm,height=3cm,border-width=1pt,
    {VBox
      {TextFlowBox "データ01"},
      {TextFlowBox "データ02"},
      {TextFlowBox "データ03"},
      {TextFlowBox "データ04"},
      {TextFlowBox "データ05"},
      {TextFlowBox "データ06"},
      {TextFlowBox "データ07"},
      {TextFlowBox "データ08"},
      {TextFlowBox "データ09"},
      v_text10,
      {TextFlowBox "データ11"},
      {TextFlowBox "データ12"},
      {TextFlowBox "データ13"},
      {TextFlowBox "データ14"},
      {TextFlowBox "データ15"},
      {TextFlowBox "データ16"},
      {TextFlowBox "データ17"},
      {TextFlowBox "データ18"},
      {TextFlowBox "データ19"},
      {TextFlowBox "データ20"}
    }  
  }
}
{value v_sc}
{CommandButton
  label = "データ10へ移動",
  {on Action do
    {v_sc.scroll-to-object v_text10}
  }
}

 上記のように、メソッドを呼ぶだけで簡単にScrollBox内のオブジェクトを表示できます。入力チェック時に、エラーのある位置までにスクロールするなどの用途にも使用できて非常に便利です。

まとめ

 DBメンテツールの開発を通じてCurlのコントロールを紹介させていただきました。少しでもCurlの良さが伝わっていればいいなと思います。Curl Apps Galleryでは実際にCrulアプリを操作できますので、実際の動きを見ていただければ、Curlがどのようなものか分かりやすいかと思います。

 これまで3回にわたり記事を書いてきましたが、少しでも開発のお役に立てれば幸いです。ありがとうございました。

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Curlで構築する長崎電子県庁システム(DBメンテナンスツール編)連載記事一覧

もっと読む

この記事の著者

株式会社ドゥアイネット 湯川栄太(ドゥアイネット ユカワエイタ)

【湯川栄太】株式会社ドゥアイネットに勤務するプログラマーです。CurlやFlexを使ってRIAの開発を担当しています。最近はマッシュアップに興味があります。開発日記http://blog.doinet.co.jp/CurlApplication Award2006http://www.curlap.com/award2006/index.htmlMashupAward4http://mashupaward.jp/entry_list/?posted=316

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3555 2009/02/25 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング