Mam program, który używa dataGridView do wyświetlania danych, które aktualizują się automatycznie co sekundę, dodając wiersze do dataGridView.DataGridView: Przewiń w dół automatycznie tylko, jeśli przewijanie znajduje się na dole
Kiedy chcę przeczytać coś na początek, przewijam w górę, a nawet gdy aktualizacje danych, pasek przewijania nie znika, jest dobry. Ale chcę, aby pasek przewijania zejść tylko wtedy, gdy jest na dole danych GridView.
Zachowanie chcę, kiedy nowy rząd zostanie dodany do tekstu:
jeśli pasek przewijania jest u dołu, przewijać automatycznie. , jeśli pasek przewijania jest w innym miejscu, nie przewijaj.
Kod Pisałem o tym i niestety nie działa to:
private void liveDataTable_Scroll(object sender, ScrollEventArgs e)
{
ScrollPosition = liveDataTable.FirstDisplayedScrollingRowIndex;
if (ScrollPosition == liveDataTable.RowCount - 1)
{
IsScrolledToBottom = true;
}
else
{
IsScrolledToBottom = false;
}
}
public void AddRowToDataGridMethod()
{
dataTable.Rows.Add();
if (dataWin.IsScrolledToBottom == true)
dataWin.LiveDataTable.FirstDisplayedScrollingRowIndex = (dataWin.ScrollPosition + 1);
else
dataWin.LiveDataTable.FirstDisplayedScrollingRowIndex = dataWin.ScrollPosition;
}
Spójrz na to pytanie: http://stackoverflow.com/questions/378330/how-can-i-set-the-position-of-my-datagrid-scrollbar-in- my-winforms-app To powinno rozwiązać twój problem. – jAC
możliwy duplikat [Przewiń do dołu C# DataGridView] (http://stackoverflow.com/questions/9969061/scroll-to-bottom-of-c-sharp-datagridview) –