The Syncfusion native Blazor components library offers 70+ UI and Data Viz web controls that are responsive and lightweight for building modern web apps.
.NET PDF framework is a high-performance and comprehensive library used to create, read, merge, split, secure, edit, view, and review PDF files in C#/VB.NET.
How do you find out which rows of a DataGrid are visible? There's FirstVisibleColumn and Visible{Column,Row}Count properties, but strangely enough there's no corresponding FirstVisibleRow. Am I missing something basic here?
CBClay Burch Syncfusion Team May 6, 2002 03:28 PM UTC
In a Windows Forms DataGrid, I don't think there is a property exposed that handles this. But here is little trick that will allow you to get the top-left visible cell.
1) Add a private member Point pointInCell00 to the form containing the datagrid.
2) After the datagrid has been initialized, but before your user has been able to scroll it (say at the end of the Form_Load event), use code such as this to initialize midPointCell00 to be a point in cell 0,0.
pointInCell00 = new Point(dataGrid1.GetCellBounds(0,0).X + 4, dataGrid1.GetCellBounds(0,0).Y + 4);
3) Then add this method to return DataGridCell that is the top-left cell.
public DataGridCell TopLeftVisibleCell()
{
DataGrid.HitTestInfo hti = dataGrid1.HitTest(this.midPointCell00);
return new DataGridCell(hti.Row, hti.Column);
}
private void button1_Click(object sender, System.EventArgs e)
{
MessageBox.Show(TopLeftVisibleCell().RowNumber.ToString() + " " + TopLeftVisibleCell().ColumnNumber.ToString());
}
CBClay Burch Syncfusion Team May 6, 2002 03:30 PM UTC
In my previous post, please change all midPointCell00's to pointInCell00's.