У меня есть довольно интересная проблема для решения, и не знаю, как бы я подошел к ней наилучшим образом.Большие наборы данных с неизвестными суммами строк
При такой интерфейс
public interface IDataCursor
{
bool Eof();
bool Next();
bool Prev();
bool First();
bool Last();
int GetColumnCount();
object GetValue(int columnIndex); // return value for a given column from current cursor position
}
, который указывает на большую структуру данных, и которые мне нужно отобразить в сетке. Для всех виртуальных режимов требуется общее количество записей. Это не работает в моем случае. Я могу только перемещаться назад/вперед.
Кто-нибудь знает о какой-то реализации DataSource, которая реализует аналогичный интерфейс?
Ни одна из существующих бесплатных или коммерческих библиотек не предлагает такую возможность, для каждого из них требуется Общее количество строк.
Я попытался вычислить количество видимых записей для DataGtidView, а затем как-то перемещаться по набору данных и обновлять содержимое базового источника данных, но данные не будут отображаться довольно надежно.
Ищет советы, Благодарю вас.
«Мне нужно отображать в сетке» и «Я могу перемещаться только вперед/назад», противоречат друг другу; хотя бы одно из этих утверждений неверно. Который из? Или они оба ложные? –
нет, они оба верны. Скажем, сетка имеет 15 строк видимых строк, затем я должен перейти к позиции для первой записи с использованием. Сначала(), затем 15 раз вызовите .Next(), проверьте Eof() и отобразите данные для каждого столбца. – Eugen
Тогда ваше первое утверждение ложно. Как вы обнаружили, DataGridView требует длины, чтобы он мог отображать полосу прокрутки и большой палец. Используйте [пейджер] (http://stackoverflow.com/questions/2825771/) или какой-либо другой элемент управления, который не требует длины. –