Thread Rating:
  • 320 Vote(s) - 2.76 Average
  • 1
  • 2
  • 3
  • 4
  • 5
RecordGridColumnGroupの背景色
10-06-2015, 02:44 PM,
#5
RE: RecordGridColumnGroupの背景色
これはRecordGridColumnGroupにenclose-header-label? = falseを設定した際、
白い罫線が描画されているのではなくて、セル間の微妙な隙間が白く見えているような状況です。
この隙間の色を変えることで回避できるかと思いますが、RecordGridの構造上、
この色を簡単に変えることはできないようです。
(header-options内や、RecordGrid等のオプションで設定する項目もないようです)

これを根本的に回避(色を変える)するにはオープンコントロールでRecordGrid自体のソースコードを修正し
そちらを使うことが考えられます。
が、オープンコントロールを使うとなるとパフォーマンス面などに大きく影響が出てきます。

なので、トリッキーなコードになりますが、この隙間の色を変えるのではなく、隙間自体をなくすように
すれば白い線が出ていないように見えます。
しかし、この隙間はヘッダーだけでなくデータ部の隙間も無くしてしまいますので標準のレコードグリッドと比べると
若干高さが低くなります。(本当に少し)

Code:
{define-proc public {make-header rgc:RecordGridColumn}:Graphic
    def f =
        {VBox
            height = 15px,
            width = {make-elastic},
            halign = "center",
            {RasterBox
                font-size = 9pt,
                {splice rgc.field.caption}
            },
            {Fill}
        }
    {after 0s do
        def h = f.parent
        set h.background = "#94cbff"
        
    }
    {return f }
}


{value
    
    
    let people:RecordSet =
        {RecordSet
            {RecordFields
                {RecordField
                    "First1", caption = "First Name1", domain = String
                },
                {RecordField
                    "First2", caption = "First Name2", domain = String
                },
                {RecordField
                    "Last", caption = "Last Name", domain = String
                },
                {RecordField "Age1", domain = int},
                {RecordField "Age2", domain = int}
            },
            {RecordData First1 = "John", First2 = "John2", Last = "Smith", Age1 = 25, Age2 = 252},
            {RecordData First1 = "Jane", First2 = "Jane2", Last = "Smith", Age1 = 29, Age2 = 252},
            {RecordData First1 = "Jane", First2 = "Jane2", Last = "Jones", Age1 = 28, Age2 = 252}
        }
    
    
    let f:Frame = {Frame "sss",
                      {on e:AttachEvent do
                          
                          let vbox:VBox = f.parent.parent.parent.parent asa VBox
                          set vbox.spacing = 0pt
                          
                      }
                  }
    
    let r:RecordGrid =
        {RecordGrid
            header-options = {RecordGridRowOptions background = "#94cbff"},
            record-source = people,
            height = 10cm,
            width = 13cm,
            header-spec = make-header,
            {RecordGridColumnGroup
                enclose-header-label? = false,
                f,
                {RecordGridColumn
                    "First1"
                }
            },
            {RecordGridColumnGroup
||++            enclose-header-label? = false,
                "Name",
                {RecordGridColumn "First2"},
                {RecordGridColumn "Last"},
                {RecordGridColumn "Age1"}
            },
            {RecordGridColumnGroup
                "Ageeee",
                {RecordGridColumn "Age2"}
            }
        }
    
    r
}


Messages In This Thread
RecordGridColumnGroupの背景色 - by da-itoh - 10-06-2015, 09:02 AM
RE: RecordGridColumnGroupの背景色 - by dankom - 10-06-2015, 10:01 AM
RE: RecordGridColumnGroupの背景色 - by dankom - 10-06-2015, 02:44 PM
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('1262')