- PR -

DataGridの自動インクリメント

1
投稿者投稿内容
RIZ
ベテラン
会議室デビュー日: 2003/11/05
投稿数: 61
投稿日時: 2003-11-21 11:01
DataSetとDataGridを連携しています。
DataSetの機能で、AutoIncrementSeed・AutoIncrementStepというのがありますが、
このプロパティを利用して、1列目で連番をふっています。
DataGridは下記のようになっているとします。

番号  名前
1   田中
2   山田
3   伊藤

ここで2行目を
dataSet.Tables["テーブル名"].Rows.RemoveAt(1)
にて削除した後に、

番号  名前
1   田中
2   伊藤

というようにしたいのですが、現状だと、

番号  名前
1   田中
3   伊藤

というようになってしまいます。
そして行追加をしたら次は番号4から開始に・・・
これは削除したあとどのようにすればよいのでしょうか?
削除後に、AutoIncrementSeed・AutoIncrementStepのプロパティの再設定を
したのですが、これは意味がないようでした。

よろしくお願いいたします。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-11-21 11:17
 DataSetの機能ではなく、DataColumnの属性ではないですか?

 この場合、テーブルには番号のカラムを「空」で持ち、デフォルトビューを取り出して、ビュー側のカラムで番号を「振りなおしてやる」必要があると思います。

 ビューを操作するのは、テーブル本体を操作するとその行が「変更された」とマークされてしまうためです。
RIZ
ベテラン
会議室デビュー日: 2003/11/05
投稿数: 61
投稿日時: 2003-11-22 02:01
Jittaさん、ありがとうございます。
やっぱり、こちらで振りなおす必要があるようですね。
あれからまた調べてみましたが・・・

その方向でやってみます。
ありがとうございました。
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2003-11-22 04:46
テンプレート列を使用してシーケンス番号を表示させてはどうでしょうか。
詳細は
http://www.atmarkit.co.jp/fdotnet/dotnettips/066numberdg/numberdg.html
を参照してください。
RIZ
ベテラン
会議室デビュー日: 2003/11/05
投稿数: 61
投稿日時: 2003-11-25 19:57
Accessさん、ありがとうございます。
教えて頂いた、URL見てみました。
これはASP.NETの場合のみ有効ということでしょうか?
1

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