powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / добавление записей через BindingSource
5 сообщений из 5, страница 1 из 1
добавление записей через BindingSource
    #33706276
Фотография Dimyan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!
Подскажите пожалуйста как добавить запись в таблицу через BindingSource
который связан с гридом (непосредственно грид запрещен к редактированию)?
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
добавление записей через BindingSource
    #33708217
Фотография Dimyan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробывал так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
void optionsBindingSource_AddingNew(object sender, AddingNewEventArgs e)
    {
      psDataSet.optionsDataTable tbl = psDataSet.options;
      psDataSet.optionsRow row = tbl.NewoptionsRow();

      row.option_name = "test";
      row.option_value = "test";
      e.NewObject = row;
    }

    private void button1_Click(object sender, EventArgs e)
    {
      optionsBindingSource.AddNew();
    }
но ругается Objects added to a BindingSource's list must all be of the same type.
...
Рейтинг: 0 / 0
добавление записей через BindingSource
    #33708935
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может поможет:
"У объекта DataTabie есть свойство Rows, возвращающее объект DataRowCoUection,
который содержит набор объектов DataRow, Как и в случае с большинством наборов, для добавления новых элементов в объект DataRowCoUection годится метод Add. Тем не менее принципы создания объектов DataRow и других объектов ADO.NET различны.
Допустим, вам требуется программно добавить в объект DataTabie, уже содер-
жащий 10 объектов DataRow, еще 10 объектов DataRow. Чтобы добавить запись в таблицу, вы задаете значения каждого поля. Но как. DataRow узнает структуру таблицы, т. е. опредетяет, какие столбцы она содержит? У объекта DataTabie есть метод NewRow, который возвращает новый объект DataRow с информацией обо всех столбцах таблицы,
Код: plaintext
1.
2.
Visual C# .NET
DataRow row = ds.Tables["Customers"].NewRow();
row["CustomerID"] =: "ALFKI";
Создав новый объект DataRow, стоит воспользоваться его свойством Item и заполнить различные поля. Кроме того, свойство Item позволяет просмотреть содержимое поля записи.
Метод DataTable.NewRow создает новую запись, однако не добавляет ее в объект DataTable. Вообще говоря, не следует моментально добавлять новую запись в таблицу, поскольку в данный момент запись пуста. Полям задаются их значения по умолчанию или, если таковые не определены, значения Null. Если вы создадите новый объект DataRow и не станете сразу же добавлять его в набор Rows, то сможете предварительно задать значения полей новой записи. Столбец CustomerlD таблицы Customers не принимает значений Null и не имеет значения по умолчанию. Предположим, у вас есть объект DataTable Customers с первичным ключом, основанным на столбце CustomerlD. Если вы попытаетесь добавить в таблицу новую запись Customers, не задав значение поля CustomerlD, система сгенерирует исключение.
Указав значения всех нужных полей записи, можно добавить ее в объект Data-
Table, воспользовавшись методом Add объекта DataRoivCollection и передав ему эту запись:
Код: plaintext
1.
2.
3.
Visual C# .NET
DataRow row = ds.Tables["Customers"].NewRow();
row["CustoraerID"] = "ALFKI";
ds.Tables["Customers"].Rows.Add(row);
Объект DataTable предоставляет еще один способ добавить новую запись в
таблицу — метод LoadDataRoic. Первый параметр данного метода — это массив значений, элементы которого соответствуют столбцам таблицы. Второй параметр, AcceptChanges, позволяет управлять значением свойства RowState нового объекта DataRow. Если передать в качестве этого параметра False (см. ниже), значением свойства RowState объекта DataRow будет Added, как и при добавлении новой записи средствами методов DataTableNewRow и RowsAdd.
Код: plaintext
1.
2.
3.
Visual C# .NET
object[] aValues = {"ALFKI", "Alfreds Futterkiste",
"Maria Anders", "030-0074321"};
ds.Tables["Customers"].LoadDataRow(aValues, false);

Д.Сеппа.
...
Рейтинг: 0 / 0
добавление записей через BindingSource
    #33709176
Фотография Dimyan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Витал, спасибо за ответ, но в том то и дело что хотелось бы разобратся с BindingSource ведь через него тоже можно добавлять записи у меня почему то не получается :(( И очень хотелось бы узнать как всетаки это сделать через BindingSource
...
Рейтинг: 0 / 0
добавление записей через BindingSource
    #33720758
eLVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BindingSource1.AddNew();
DataRowView drw = BindingSource1.Current as DataRowView;
drw["Field1"] = NewValue;
....
BindingSource1.EndEdit();
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / добавление записей через BindingSource
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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