プロが教えるわが家の防犯対策術!

ObjectDataSourceをGridViewにバインドしてGridViewを表示しています。GridViewは1画面に20行固定で表示したいのですが、表示するデータが20行に満たない場合でも空白行を追加して、20行表示にしたい。空白行を追加するにはどうすればよろしいでしょうか?
GridView1.Controls[0].Controls.AddAt(INDEX,GridViewRow)で追加できそうなのですが、GridViewRowの作成方法がわかりません。
よろしくおねがいします。

A 回答 (2件)

お世話になります。


> やり方としてはオブジェクトをArray等に入れて
という事を想定していたのですが、
ObjectDataSource の 型になにを選択しているかによって
できないかもしれないですね。すみません。

TableAdapter 等を ObjectDataSource の 型
として使用している場合、Fill 等のメソッドをラップするメソッドを
作ってやり、
20 行判定及び 20 行に満たない場合は空行オブジェクト追加
等はいかがでしょうか。

この回答への補足

お世話になっております。
Fillメソッドのラップは考えつきませんでした。試してみます。
とりあえず下記の方法で成功しました。
下記を20行になるまでループさせました。
GridViewRow row1 = new GridViewRow(-1, -1, DataControlRowType.DataRow, DataControlRowState.Normal);
TableCell cell1 = new TableCell();
TableCell cell2 = new TableCell();
TableCell cell3 = new TableCell();
TableCell cell4 = new TableCell();
TableCell cell5 = new TableCell();
cell1.Text = " ";
cell2.Text = " ";
cell3.Text = " ";
cell4.Text = " ";
cell5.Text = " ";
row1.Cells.Add(cell1);
row1.Cells.Add(cell2);
row1.Cells.Add(cell3);
row1.Cells.Add(cell4);
row1.Cells.Add(cell5);
GridView1.Controls[0].Controls.AddAt(j+1, row1);

補足日時:2006/10/18 17:28
    • good
    • 0

お世話になります。


ObjectDataSource が 20 個に満たない場合は
ObjectDataSource に空のオブジェクトを追加してやって
20 個表示するようにするのはだめなんでしょうか。

この回答への補足

回答ありがとうございます。
やり方としてはオブジェクトをArray等に入れて
Arrayに空のオブジェクトを追加して、
ArrayをGridViewにDataBindするという方法でよろしいでしょうか。
で、バインドした時にGridViewを再表示して、
一瞬ちらついたりしないでしょうか?

補足日時:2006/10/17 15:01
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています