powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Обновление datagrid
2 сообщений из 2, страница 1 из 1
Обновление datagrid
    #38245721
Narvasadata
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Есть небольшая проблема по заполнению(обновлению грида). К сожалению гугл не помог в контексте моей проблемы. Может подскажите куда копать. Собственно суть...

К проекту прикрутил БД(access) средствами VS 2012 (т.е. все датасеты и датаадептеры генерерятся средой). Одну табличку из БД загоняю в первый грид и обрабатываю событие

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
            try
            {
                string sqlwhr = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
                //Записи с удовлетворяющим ID
                DataRow[] dr = dbDataSet1.Что_ то_там.Select("CL_ID = " + sqlwhr);
                this.Где_то_тамTableAdapter.Fill(this.dbDataSet2.Где_то_там, sqlwhr);
            }
            catch (Exception exp)
            {
                label2.Text = exp.ToString();
            }            
}




Как должно отработать по-моему: Выбрали запись из первого грида, получили ID записи, и заполняем второй грид из другой таблицы по выборке грид1.ID = грид2.CL_ID

В генерируемый средой вызов метода пытаюсь добавить еще один параметр
Код: c#
1.
this.Где_то_тамTableAdapter.Fill(this.dbDataSet2.Где_то_там, sqlwhr);



Ну и правлю сам метод в классе датасет
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
private string sqlwhr;
public virtual int Fill(dbDataSet2.Где_то_тамDataTable dataTable, string sqlwhr) {
            this.sqlwhr = sqlwhr;
            this.Adapter.SelectCommand = this.CommandCollection[0];
            if ((this.ClearBeforeFill == true)) {
                dataTable.Clear();
            }
            int returnValue = this.Adapter.Fill(dataTable);
            return returnValue;
        }



Далее правлю коллекцию команд в классе датасет
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
private void InitCommandCollection() {
            this._commandCollection = new global::System.Data.OleDb.OleDbCommand[1];
            this._commandCollection[0] = new global::System.Data.OleDb.OleDbCommand();
            this._commandCollection[0].Connection = this.Connection;
            this._commandCollection[0].CommandText = "SELECT ID, CL_ID, BEGIN_DATE, END_DATE, PLACE, PASSPORT FROM " +
"Где_то_там WHERE CL_ID" + this.sqlwhr;
            this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
        }



В итоге ничего не работает :D То есть работает, но криво. При загрузке формы и автоматическом селекте на первую запись первого грида, вызывается мое событие и второй грид заполняется записями с CL_ID = 1, но при следующих селктах других записей - 0 реакции

ЗЫ пытаюсь расширить область с pl\sql до .Net, это дело курю первую неделю, так что над кривым подходом к решению задачи и убогим кодом прошу не стебать :D знаю что, по-любому, можно сделать все намного проще, но что-то пока не доходит(
ЗЫЫ прилеплю скрин формы, может поможет вникнуть в суть...
...
Рейтинг: 0 / 0
Обновление datagrid
    #38249301
Narvasadata
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема решилась, тему можно закрыть, удалить etc
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Обновление datagrid
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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