2016-12-07 10 views
0

datagridviewのrownumberを表示しようとしていますheadercellの可能性がありましたが、値を表示することができませんでした。dgv行番号をheadercellに追加

何をする必要がありますか?

** DGVがのBindingSourceにバインドされている**

私の試み:

Private Sub NumberRows() 

    For Each oRow As DataGridViewRow In dgvBodyOverview.Rows 
     oRow.HeaderCell.Value = (oRow.Index + 1).ToString 
    Next 

End Sub 
+0

表示するために行ヘッダーを広げなければならない場合があります。テキストのスペースが制限されているので、そこにエラーアイコンが表示されます – Plutonix

+0

画面全体を覆うように幅をドラッグすると、数字は表示されません。 –

+0

サイズ設定については、「dgvBodyOverview.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToDisplayedHeaders' – OhBeWise

答えて

0

あなたの問題を再現するために、私はあなたのコメントを追っ:

私はからそれを呼んでいますすべての行をロードし、最後に呼び出しが行われるサブ。これを行う

、数字は、グリッドがDataSourceを持っていたかどうかを示すことができませんでした。代わりに、私は通常、Plutonixが上で示唆したようにこれをやった - DataGridView.CellFormatting

Private Sub dataGridView1_CellFormatting(sender As Object, e As DataGridViewCellFormattingEventArgs) 
    Dim header As DataGridViewRowHeaderCell = Me.dataGridView1.Rows(e.RowIndex).HeaderCell 

    If e.ColumnIndex = 0 Then 
     header.Value = [String].Format("{0}", e.RowIndex + 1) 
    End If 
End Sub 

Iは、ヘッダーセルの値を一度だけ行ごとに設定されていることを確認するためにチェックColumnIndex = 0。詳細については、this C# answerを参照してください。

関連する問題