2016-12-07 5 views
-1

Ich versuche, Zeile Nummer in Zeile Header zu Gridview hinzufügen, fand ich Code online und es funktioniert perfekt, aber ich verwende Arabisch so meine Gridview ist von rechts nach links, und der Code hinzufügen die Zahl auf der linken Seite, wie ich es auf der rechten SeiteGridView Zeile Nummer auf der rechten Seite

machen

dies ist der Code:

Private Sub RGridView_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles RGridview.RowPostPaint 

    Using b As SolidBrush = New SolidBrush(RGridview.RowHeadersDefaultCellStyle.ForeColor) 
     e.Graphics.DrawString(e.RowIndex.ToString(System.Globalization.CultureInfo.CurrentUICulture), 
           RGridview.DefaultCellStyle.Font, b, e.RowBounds.Location.X + 20, e.RowBounds.Location.Y + 4) 
    End Using 
End Sub 

Antwort

1

I Datagridview-Eigenschaft RightToLeft auf True gesetzt haben. Auf diese Weise könnten Sie Ihre Veranstaltung wie das ändern:

Private Sub DataGridView1_RowPostPaint(sender As Object, e As DataGridViewRowPostPaintEventArgs) Handles DataGridView1.RowPostPaint 

    Using b As SolidBrush = New SolidBrush(DataGridView1.RowHeadersDefaultCellStyle.ForeColor) 
     e.Graphics.DrawString(e.RowIndex.ToString(System.Globalization.CultureInfo.CurrentUICulture), 
          DataGridView1.DefaultCellStyle.Font, b, e.ClipBounds.Width - 30, e.RowBounds.Location.Y + 4) 
    End Using 
End Sub 

Erhalt folgendes Ergebnis: enter image description here

hoffe, das hilft

+0

aber wie kann ich es aus 1 nicht 0 beginnen machen ?? und danke seine Arbeit :) –

+1

Es ist ausreichend, um den RowIndex, den Sie verarbeiten, um 1 zu erhöhen: (e.RowIndex + 1) .ToString (System.Globalization.CultureInfo.CurrentUICulture) Lassen Sie mich wissen, wenn es in Ordnung ist;) – hypnos

+0

danke Mann sein perfekt :) –

Verwandte Themen