- - PR -
DataGridのヘッダを2行にする方法
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-09-09 15:01
IIS+ODP.NET+MS VS2003でWEBアプリを開発しています。
本サイトの.NET TIPSにありましたが、サンプルとしては 確認できましたが、その応用で苦戦しています。 実際の開発ではDataGridのヘッダを以下の形にしたいのですが、 どうかご教授ください。 +--------------------------------+ |aaaaa|bbbbbbbbbb|ccccccccc|ddddd| +aaaaa+-----+----+----+----+-----+ |aaaaa|eeeee|ffff|gggg|hhhh|iiiii| +--------------------------------+ 画面くずれを防ぐため文字埋めしています。 真ん中2項目がcolspan=2です。 <font face="MS ゴシック" size=-1>[ メッセージ編集済み 編集者: ねっとふぁん 編集日時 2005-09-09 15:05 ]</font> [ メッセージ編集済み 編集者: ねっとふぁん 編集日時 2005-09-09 15:10 ] [ メッセージ編集済み 編集者: ねっとふぁん 編集日時 2005-09-09 15:13 ] | ||||||||
|
投稿日時: 2005-09-09 16:02
お手伝い@ひまじん | ||||||||
|
投稿日時: 2005-09-11 00:44
考え方だけいいますね。
まず、オリジナルのヘッダの1列目を削除する必要があります。 ((DataGridItem)DataGrid1.Controls[0].Controls[0]).Cells.RemoveAt(0); でできます。 追加するヘッダの1列目にrowspan=2を入れてあげます。 これでたぶんできると思います。 | ||||||||
|
投稿日時: 2005-09-11 05:58
DataGridItemを作成してDataGridのヘッダーに追加するようにしてはどうでしょうか。
サンプルを作成しましたので参考にしてください。 http://www.friendlysw.com/aspnet/articles/app/031003-1.aspx _________________ ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集 | ||||||||
|
投稿日時: 2005-09-11 06:04
DataGridにサブヘッダーを作成することも可能です。
http://www.friendlysw.com/aspnet/articles/app/031003-2.aspx _________________ ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集 | ||||||||
|
投稿日時: 2005-09-14 11:54
報告が遅れましてすいません。
サブヘッダでためしましたが、次のカラムの指定がわかりません。 エラーになりました。 記述内容 If e.Item.ItemType = ListItemType.Footer Then item = New DataGridItem(0, 0, ListItemType.Header) cell = New TableCell() cell.ColumnSpan = 2 item.Cells.Add(cell) cell.Text = "aaa" DataGrid1.Controls(0).Controls.AddAt(0, item) cell = New TableCell() cell.ColumnSpan = 2 item.Cells.Add(cell) cell.Text = "bbb" DataGrid1.Controls(1).Controls.AddAt(0, item) cell = New TableCell() cell.ColumnSpan = 2 item.Cells.Add(cell) cell.Text = "ccc" DataGrid1.Controls(2).Controls.AddAt(0, item) End If End Sub 先頭行だけなので単純にカラム位置(Controlsの箇所) だけではうまくいかないようです。 それともセルの設定でしょうか?? | ||||||||
|
投稿日時: 2005-09-14 12:13
[ASP.NET]DataGridコントロールのヘッダーを複数行にするには?
http://www.atmarkit.co.jp/fdotnet/dotnettips/095multiheader/multiheader.html によれば、DataGridTableは、MyGrid.Controls[0]になりますから、 サブヘッダであろうとこれは変わりません。 サブヘッダを何行目に挿入するかは、 DataGrid1.Controls(0).Controls.AddAt(0, item) AddAt(0, item) の0をいじることになります。 | ||||||||
|
投稿日時: 2005-09-14 13:46
ヘッダ部のみ単純に2行にしたいだけで、サブヘッダを行途中に挿入する
必要性はありません。列をセル結合のするだけなのですが、 カラム指定が理解できず苦戦してます。 サンプルが1カラムのみ結合してますが複数カラムの指定の 場合はどうなるのでしょうか? Controlsの数値だけではない? |