Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Refresh таблички / 12 сообщений из 12, страница 1 из 1
25.06.2004, 11:49
    #32577046
Дудкин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Refresh таблички
У меня в форме1 табличка с данными..
Открываю форму2, редактирую строку из таблички с формы1..
закрываю форму2..
а как освежить данные в табличке формы1, чтобы она показала сделанные изменения?
(в дельфях я закрывал и заново открывал компонент Table.. а тут?)
...
Рейтинг: 0 / 0
25.06.2004, 12:18
    #32577137
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Refresh таблички
У меня в форме1 табличка с данными..
Открываю форму2, редактирую строку из таблички с формы1..
закрываю форму2..
а как освежить данные в табличке формы1, чтобы она показала сделанные изменения?
(в дельфях я закрывал и заново открывал компонент Table.. а тут?)


Одни из "легких" способов:
Можно создать массив строк - куда вы включите свою строку и далее произвести Merge с этим массивом строк, но при этом потеряется позиция курсора, конечно ее легко можно потом восстановить.

Можно для сохранения позиции курсора воспользоваться методом LoadDataRow вместо merge.

Но везде есть свои тонкости, так что надо попробовать практически.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
25.06.2004, 12:52
    #32577274
Дудкин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Refresh таблички
А как-нить попрощее..
типа закрыть датаадаптер и снова сделать Fill?
...
Рейтинг: 0 / 0
25.06.2004, 12:57
    #32577294
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Refresh таблички
А как-нить попрощее..
типа закрыть датаадаптер и снова сделать Fill?


Да можно и так как вы предлагаете,
Выглядит примерно так:
Код: plaintext
1.
2.
me.dataSet1.Clear()
me.dataAdapter1.Fill(me.dataSet1)

Минусы: Дополнительная нагрузка на сервер
Плюсы: Вытяните с сервера изменения сделанные помимо вашей программы.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
25.06.2004, 12:58
    #32577297
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Refresh таблички
Оговорка под сервером имею ввиду СУБД

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
25.06.2004, 13:05
    #32577324
Дудкин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Refresh таблички
ага... только курсор теряется..
...
Рейтинг: 0 / 0
25.06.2004, 13:25
    #32577390
Дудкин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Refresh таблички
бррррр... а как курсор установить на запись бывшую текущей до обновления?
...
Рейтинг: 0 / 0
25.06.2004, 13:31
    #32577407
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Refresh таблички
бррррр... а как курсор установить на запись бывшую текущей до обновления?


Как раз по теме:
/topic/90927

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
25.06.2004, 13:35
    #32577415
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Refresh таблички
Добавлю, это один из самых быстрых способов поиска без использования primary key, кто найдет быстрее, код в студию

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
25.06.2004, 15:10
    #32577665
Дудкин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Refresh таблички
немножко непонятно с
непонятный моментDim dr As DataRow = myDataSet.Tables("TableName").Rows.Find(New Object() {8909} )
Dim value as integer = dr("secondColumn")
как использовать переменную вместо {8909} ?

т. е. начало такое
кодDim crm As CurrencyManager = Me.BindingContext(Me.DataGrid1.DataSource, Me.DataGrid1.DataMember)
Dim row As DataRowView = CType(crm.Current, DataRowView)
'MsgBox(row("id_pr"))
Dim priem As New priem
priem.Edit(row) 'Вызываем модальную подчиненную форму
'Обновим табличку...
Dim naydem As Integer
naydem = row("id_pr")
MsgBox(naydem)
Me.DsAll1.Clear()
Me.AdapAll.Fill(DsAll1)

тут надо найти по naydem

или лучше искать через цикл со сравнением?
...
Рейтинг: 0 / 0
25.06.2004, 15:41
    #32577758
Дудкин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Refresh таблички
Боюсь что поячеечное сравнение при большом количестве записей будет происходить не очень быстро...
...
Рейтинг: 0 / 0
25.06.2004, 19:36
    #32578351
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Refresh таблички
Боюсь что поячеечное сравнение при большом количестве записей будет происходить не очень быстро...


Если вы про метод который опубликован мной в последнем посте то это не поячеечное сравнение, а простой перебор строк отображаемых в DataGrid.
Так как DataGrid особо и "не создан" для отображения огромного количества записей, то скорость должна быть приемлемой - выше чем искать при помощи
indexof(dataTable.select...)

В любом случае производительность смотрите на своем конкретном примере.


Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Refresh таблички / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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