2016-12-07 45 views
0

我試圖在headercell中顯示datagridview的rownumber我覺得這是可能的,但我無法讓它顯示值。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 

我檢查ColumnIndex = 0確保頭單元格值僅每排設置一次。有關更多說明,請參閱this C# answer