powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / сохранение мультивыделения после перезаполнения датасета
1 сообщений из 1, страница 1 из 1
сохранение мультивыделения после перезаполнения датасета
    #32756700
Kashed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как перевыделить ряды после рефреша датасорса?
public IEnumerator getSelectedRows()
{
ArrayList rows = new ArrayList();
DataTable tmpTable = ((DataView)this.DataSource).Table;
for(int i = 0; i < tmpTable.Rows.Count; i++)
{
if(this.IsSelected(i))
rows.Add(tmpTable.Rows );
}
return rows.GetEnumerator();
}
public void RefreshData()
{
SqlDataAdapter da = (SqlDataAdapter) this.Tag;
DataView dv = (DataView) this.DataSource;
string tableName = dv.Table.TableName;

int row = this.CurrentRowIndex;
int rowCount = dv.Table.Rows.Count;
IEnumerator ie = getSelectedRows();

SuspendLayout();

dv.Table.DataSet.Clear();
da.Fill(dv.Table.DataSet, tableName);
dv.Table.TableName = tableName;
//Восстановить индекс
if(row > -1)
{
this.CurrentRowIndex = row;
this.Select(row);
}
//Восстановить область выделения
for(;ie.MoveNext();)
{
}

this.ResumeLayout();
}
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / сохранение мультивыделения после перезаполнения датасета
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]