グリッドの行は一つ以上のセルを横に配置する。 表示するセルの種類によって行の種類も決定される。 DataRowはグリッド内でのカラムの配置に従ってDataSetの一つの行をセル達で配置する。 行がグルーピングされたらGroupHeaderやGroupFooter等が生成され、 その位置にRowGroupHeaderとRowGroupFooter行が表れる。
また、行の追加や修正が始まるとEditRowが臨時に生成され、 編集が終わったらDataRowやグループの行達を生成させる。 TreeViewの行はTreeRow客体である。
つまり、グリッドはDataSetの値を示すだけでなく、 グリッドの状態により色々なタイプの行を配置することになる。 また、行のグルーピングをしていない場合にも、グリッドのソートやフィルターリングによって DataSetとグリッドの行の数や順が異なる。
特に、行グルーピング状態のグリッドビューや,ツリービューで上位行がcollapsedされた場合、 隠された下位の行たちはGridBase.rowCountに含まれず、 GridRow.indexは-1になる。 また, GridBase.getRowメソッドで行を持ってくることはできず、上位行のGroupRow.getChildを通して持って来なければならない。
グリッドの行は現在示される順番を意味するindexプロパティーを持つ。 一番目の行のindexは0で、rowCount - 1 以下の値を持つ。 DataRowはDataSetの一つの行の値を示すゆえ、DataSetの行のインデックスをdataRowプロパティーとして持つ。 DataRowではないグリッドの行のdataRowの値は-1である。