Thread Rating:
  • 328 Vote(s) - 2.66 Average
  • 1
  • 2
  • 3
  • 4
  • 5
RecordGrid 列の表示/非表示について
05-19-2015, 06:54 PM, (This post was last modified: 05-20-2015, 01:22 PM by Yudai-s.)
#3
RE: RecordGrid 列の表示/非表示について
>dankom様
教えていただいたソースをもとに実装し、コンテキストメニューへの「表示」「非表示」の追加と列の表示/非表示を実装することができました。
ありがとうございました。

Code:
{method public {context-menu-at x:Distance, y:Distance}:#MenuPane
    let menu-pane:#MenuPane = {super.context-menu-at x, y}
    let disp-list:{Array-of MenuAction} = {new {Array-of MenuAction}}
    let hide-list:{Array-of MenuAction} = {new {Array-of MenuAction}}

    || RecordFieldからコンテキストメニューに表示する列名を取得
    {if-non-null self.grid.record-source then
        {for field in self.grid.record-source.fields do
            {disp-list.append {MenuAction
                                  label = field.caption,
                                  {on Action do
                                      {self.disp-columns field.name}
                                  }
                              }
            }
            {hide-list.append {MenuAction
                                  label = field.caption,
                                  {on Action do
                                      {self.hide-columns field.name}
                                  }
                              }
            }
        }
    }

    {menu-pane.add
        {SubMenu label = "表示",
            {splice disp-list}
        }
    }
    {menu-pane.add
        {SubMenu label = "非表示",
            {splice hide-list}
        }
    }

    {return menu-pane}
  }

  ||############################################################
  || 選択した列を表示する
  ||############################################################
  {method private {disp-columns column-name:String}:void
    let disp-column-list:{Array-of BaseRecordGridColumn} = {new {Array-of BaseRecordGridColumn}}
    let insert-index:int = {self.grid.record-source.fields.get-index column-name}
    let column-index:int = 0
    let is-insert?:bool = false
    || 現在表示されている列を取得する
    {for column in self.grid.columns do

        || 指定した列がすでに表示されている場合は何もせず終了
        {if column.field-name == column-name then {return}}

        {if column-index == insert-index then
            || 指定した列を追加する
            {disp-column-list.append
                {RecordGridColumn
                    column-name
                }
            }
            set is-insert? = true
        }
        {disp-column-list.append
            i
        }
        set column-index = column-index + 1
    }

    {if is-insert? == false then
        || 指定した列を追加する
        {disp-column-list.append
            {RecordGridColumn
                column-name
            }
        }
    }

    set self.grid.base-columns = disp-column-list
  }

  ||############################################################
  || 選択した列を非表示にする
  ||############################################################
  {method private {hide-columns column-name:String}:void
    let disp-column-list:{Array-of BaseRecordGridColumn} = {new {Array-of BaseRecordGridColumn}}

    || 現在表示されている列を取得する
    {for column in self.grid.columns do

        || 選択した列以外を表示列として設定する
        {if column.field-name != column-name then
            {disp-column-list.append
                column
            }
        }
    }

    set self.grid.base-columns = disp-column-list
  }


Messages In This Thread
RE: RecordGrid 列の表示/非表示について - by Yudai-s - 05-19-2015, 06:54 PM

Possibly Related Threads...
Thread Author Replies Views Last Post
  RecordGrid の行の実際の高さの調べ方 kay 2 3,117 03-01-2016, 06:14 PM
Last Post: kay
  RecordGrid でDropdownList を表示 umemura 10 14,859 06-30-2015, 06:52 PM
Last Post: dyoshida
  RecordGrid のセル単位のフォーカス制御方法 kay 2 3,286 03-06-2015, 06:34 PM
Last Post: kay
  RecordGrid のセルのフォーカス可否制御 kay 2 3,579 03-02-2015, 07:56 PM
Last Post: kay
  RecordGrid の縦のスクロールバー umemura 3 5,154 01-20-2014, 10:38 AM
Last Post: umemura
  RecordGrid のパフォーマンスについて umemura 8 12,787 01-06-2014, 02:34 PM
Last Post: umemura
  RecordGrid の NavigationPanel について umemura 2 5,117 08-23-2011, 08:52 AM
Last Post: c-s
  RecordGrid で オートコンプリート umemura 1 4,744 07-29-2011, 10:58 PM
Last Post: umemura
  RecordGrid での右詰め umemura 3 6,012 07-29-2011, 01:32 PM
Last Post: c-s
Forum Jump:


Users browsing this thread:
1 Guest(s)

MyBB SQL Error

MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1017 - Can't find file: 'mybb_threadviews' (errno: 2)
Query:
INSERT INTO mybb_threadviews (tid) VALUES('1224')