- PR -

DataGridViewの行制限

1
投稿者投稿内容
未記入
会議室デビュー日: 2004/07/03
投稿数: 3
投稿日時: 2008-04-16 00:22
DataGridViewを使用しています。最大100行といった
制限をしたいのですがどのようにするのがよいでしょうか?

DataSetをバインドし、AllowUserAddRows=Trueとして
使用しています。入力すればしただけ行が追加されるのは
よいのですが、ある行数に達したら新たに行が作られなく
なって欲しいのです。

AllowUserAddRowsをFalseにするタイミングだけなのかも
しれませんが、どうもうまくいきません。

よい方法がありましたら教えてください。
McLaren
ぬし
会議室デビュー日: 2002/01/15
投稿数: 784
お住まい・勤務地: 東京
投稿日時: 2008-04-17 14:12
 SQLで抽出したレコードセットから生成されようとしているのなら
SQL文で100行ずつ抽出するようにすれば可能です。

 それ以外でもソースレベルで100行をカウントしてセットすれば可能です。
Yam
大ベテラン
会議室デビュー日: 2003/09/13
投稿数: 179
お住まい・勤務地: だんじり祭りの地
投稿日時: 2008-04-17 16:34
AllowUserToAddRowsという事はユーザが画面から行を追加するのを止めたいのですね。
AllowUserToAddRows = falseでとまる筈ですが、どううまくいかないのでしょうか。
GENZO
大ベテラン
会議室デビュー日: 2003/11/26
投稿数: 111
お住まい・勤務地: 名古屋
投稿日時: 2008-04-17 23:12
引用:

AllowUserAddRowsをFalseにするタイミングだけなのかも
しれませんが、どうもうまくいきません。



一瞬チラっとしますが、RowValidatingイベントでいかがでしょうか?
コード:

private void dataGridView1_RowValidating(object sender, DataGridViewCellCancelEventArgs e)
{
if (dataGridView1.RowCount > 100)
{
e.Cancel = true;
dataGridView1.AllowUserToAddRows = false;
}
}



追記
101行目に移動しようとすると101行目が消えますね。そのため、一瞬ではありませんでした。

[ メッセージ編集済み 編集者: GENZO 編集日時 2008-04-17 23:24 ]
1

スキルアップ/キャリアアップ(JOB@IT)