powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / FW2.0 Связывание контролов на форме с записями
9 сообщений из 9, страница 1 из 1
FW2.0 Связывание контролов на форме с записями
    #32637903
Фотография YuriWhite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть DataGridView - встаю на нужную запись жму кнопку открывается форма для редактипрования однако почему-то в ней всегда первая запись т.е независимо от того на какой записи нахожусь форма открывается с данными первой записи ( строки ).
Контролы связаны вот так
Код: plaintext
1.
2.
3.
4.
...
this.dateTimePicker1.DataBindings.Add(new System.Windows.Forms.Binding("Value",
  frmBrowseLocal.dataSetBrowse, "TD_T_LIST.DPROBLEM", true));
....
Может я чего-то не понимаю :) или не правильно делаю биндинг ?
...
Рейтинг: 0 / 0
FW2.0 Связывание контролов на форме с записями
    #32637913
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предварительный диагноз неправильно делаете binding.
Покажите как bindитесь к DataGridView

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
FW2.0 Связывание контролов на форме с записями
    #32637924
Фотография YuriWhite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот так
Код: plaintext
1.
2.
3.
4.
5.
6.
....
sqlDataAdapterBrowse.Fill(dataSetBrowse, "TD_T_LIST");
dataConnectorBrowse.DataSource = dataSetBrowse.Tables["TD_T_LIST"];

dataGridViewBrowse.DataSource = dataConnectorBrowse;
....
Или я не об этом ?
...
Рейтинг: 0 / 0
FW2.0 Связывание контролов на форме с записями
    #32637975
Фотография YuriWhite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так работает - тока правильно ли это ?
Код: plaintext
1.
2.
3.
4.
5.
....
cm = (CurrencyManager)frmBrowseLocal.BindingContext[frmBrow.dataSetBrowse, "TD_T_LIST"];
cm1 = (CurrencyManager)this.BindingContext[frmBrow.dataSetBrowse, "TD_T_LIST"];
cm1.Position = cm.Position;
....
...
Рейтинг: 0 / 0
FW2.0 Связывание контролов на форме с записями
    #32637980
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте так:

Код: plaintext
1.
2.
3.
4.
sqlDataAdapterBrowse.Fill(dataSetBrowse, "TD_T_LIST");
dataConnectorBrowse.DataSource = dataSetBrowse;
dataConnectorBrowse.DataMember = "TD_T_LIST";
dataGridViewBrowse.DataSource = dataConnectorBrowse;
и старый вариант binding

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
FW2.0 Связывание контролов на форме с записями
    #32638110
Фотография YuriWhite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решение в принципе есть и работает но
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
...
            cm = (CurrencyManager)this.BindingContext[dataSetBrowse.Tables["TD_T_LIST"]];
...
   private void dataConnectorBrowse_PositionChanged(object sender, EventArgs e)
        {
            cm.Position = dataConnectorBrowse.Position;
        } 

Однако стоит отсортировать грид и уже не работет...
Как связать реальные строки в DataSet и строки в Гриде ?
...
Рейтинг: 0 / 0
FW2.0 Связывание контролов на форме с записями
    #32638473
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решение в принципе есть и работает но
Однако стоит отсортировать грид и уже не работет...

ИМХО не туда двигаетесь

Мой вариант не подошел?

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
FW2.0 Связывание контролов на форме с записями
    #32638482
Фотография YuriWhite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Sa
Нет к сожалению..
Пока нашел выход
Код: plaintext
1.
2.
3.
4.
5.
...
 BindingManagerBase bm = frmBrow.dataGridViewBrowse.BindingContext[frmBrow.dataGridViewBrowse.DataSource];
row = ((DataRowView)bm.Current).Row;
dateTimePicker1.Value = (DateTime)row["DPROBLEM"];
....
И по кнокпе сохранить
Код: plaintext
1.
2.
3.
...
row["DPROBLEM"] = dateTimePicker1.Value;
....

Но это-же коряво :)
...
Рейтинг: 0 / 0
FW2.0 Связывание контролов на форме с записями
    #32638515
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuriWhite
Но это-же коряво :)


Ну можно и так:
Код: plaintext
1.
2.
3.
BindingManagerBase bm = frmBrow.dataGridViewBrowse.BindingContext[frmBrow.dataGridViewBrowse.DataSource];
rowview = ((DataRowView)bm.Current);
this.dateTimePicker1.DataBindings.Add("Value", rowview, "DPROBLEM") 

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


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