DtaGridの行に通し番号をつけるには?


xyz  2004-01-22 13:30:06  No: 111534  IP: [192.*.*.*]

DataGridの行に通し番号をつけたいと考えているのですが方法がわかりません。
行の追加、削除を行っても1からN(Nはデータ数)まで
1・2・3・5・6・7のように4が抜けたりということが無いように
行いたいのですが、何か良い方法があるのでしょうか?
VB.NETで作成していて、DBはACCESS2002を使用してます。

宜しくお願い致します。

編集 削除
岡田 之仁  2004-01-23 19:15:01  No: 111535  IP: [192.*.*.*]

データベースの方に主キーの項目があれば、可能です。

以下のソースを参考にして下さい。
尚、[ID]と表記されている部分は、主キーの項目名です。

※  Access2002 で動作確認しました

        Dim OleSQL As String
        Dim OleDB As OleDb.OleDbConnection
        Dim OleCMD As OleDb.OleDbCommand
        Dim OleDS As DataSet
        Dim OleAD As OleDb.OleDbDataAdapter

        OleSQL = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\Test.mdb;Persist Security Info=False"

        OleDB = New OleDb.OleDbConnection(OleSQL)
        OleDB.Open()

        OleSQL = "SELECT "
        OleSQL += "DCount('*','TEST','[ID] <= ' & [ID]) AS '連番',"
        OleSQL += "* "
        OleSQL += "FROM TEST "
        OleSQL += "WHERE DCount('*','TEST','[ID] <= ' & [ID])"

        OleCMD = New OleDb.OleDbCommand
        OleCMD.Connection = OleDB
        OleCMD.CommandType = CommandType.Text
        OleCMD.CommandText = OleSQL

        OleDS = New DataSet
        OleAD = New OleDb.OleDbDataAdapter

        OleAD.SelectCommand = OleCMD
        OleAD.Fill(OleDS, "TEST")

        OleCMD.Dispose()

        DataGrid1.DataSource = OleDS
        DataGrid1.DataMember = "TEST"

        OleAD.Dispose()
        OleDS.Dispose()

        OleDB.Close()
        OleDB.Dispose()

以上。

編集 削除
xyz  2004-01-26 14:18:37  No: 111536  IP: [192.*.*.*]

岡田 之仁 様。
いつも助けていただき本当にありがとうございます。

出来れば列名みたいに数字を行ごとに振りたいのですが。。。
それは自分でNo.みたいな列を作ってそこに何行目かをあらわす数字を
表示していくしか方法はありませんか?
一番左の列(グレーになっているところ。)に数字を表示することってできませんか?

編集 削除
岡田 之仁  2004-01-26 19:37:16  No: 111537  IP: [192.*.*.*]

海外サイトですが・・・

http://www.syncfusion.com/FAQ/WinForms/FAQ_c44c.asp#q896q

この件にて、可能です。

要は、オーナードロウで、実現させています。

ご参考までに・・・

以上。

編集 削除