- - PR -
.NET TIPSのDataGridコントロールのヘッダーを結合するには?で…
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2003-12-09 22:24
DataGridコントロールのヘッダーを結合するには?
http://www.atmarkit.co.jp/fdotnet/dotnettips/091joinheader/joinheader.html で紹介されている方法でセルの結合は出来るのですが、、、 Page_Load部分で if(!IsPostBack) xxx.DataBind(); として、ポストバックの場合は無駄にバインドしないようにすると 削除したセルが自動で復帰してるらしく 結合分+削除したはずのセルが出力されて 結合してない、そのほかの行に空白が出来てしまうようです。 なので、 e.Item.Cells.RemoveAt(1); e.Item.Cells.RemoveAt(1); よりも e.Item.Cells[1].Visible = false; e.Item.Cells[2].Visible = false; とした方がいいかもしれません。 (ViewStateを保持してる場合だけかもしれませんが…) |
|
投稿日時: 2003-12-17 19:10
@ITエディタ 遠藤です。
>Page_Load部分で >if(!IsPostBack) xxx.DataBind(); >として、ポストバックの場合は無駄にバインドしないようにすると >削除したセルが自動で復帰してるらしく >結合分+削除したはずのセルが出力されて >結合してない、そのほかの行に空白が出来てしまうようです。 viewstateを無効にしないで、ポストバックした時は おっしゃるとおり確かにセルが復活していますね。 >なので、 >e.Item.Cells.RemoveAt(1); >e.Item.Cells.RemoveAt(1); >よりも >e.Item.Cells[1].Visible = false; >e.Item.Cells[2].Visible = false; >とした方がいいかもしれません。 この方法はよいですね。年末の時間が空いたときにでも 記事の方にフィードバックさせていただきます。 Lynさんご指摘ありがとうございました。 今後ともどうぞよろしくお願いします。 #ちなみにサンプルでEnableViewState="false"かつ #IsPostBack判定ナシとしているのは、コードを #シンプル&軽量にするためで特に他意はありません。 #が、確認が足りませんでしたね。 |
1
