Привязка данных позволяет связать два свойства разных объектов таким образом, что
изменения свойства одного объекта автоматически приводили к изменению свойства другого объекта. Привязка данных состоит из двух компонентов:
источник привязки (source) — кто привязывается
цель привязки (target) — к кому идет привязка
Привязка осуществляется от свойства источника к свойству цели. И когда происходит изменение источника,
механизм привязки автоматически обновляет также и цель.
Для установки привязки в Windows Forms у класса Control, который является базовым для всех элементов управления в Windows Forms, определено свойство
DataBindings. Это свойство представляет коллекцию ControlBindingsCollection, которая содержит все привязки.
Каждая отдельная привязка представляет класс Binding. Для создания привязки класс Binding предоставляет ряд конструкторов. Рассмотрим самый простейший:
Binding (string propertyName, object dataSource, string dataMember);
Параметры
-
propertyName
: представляет свойство текущего объекта в виде строки -
dataSource
: объект, к которому идет привязка -
dataMember
: представляет свойство объекта из параметра dataSource, к которому идет привязка
Рассмотрим простейший пример. Пусть у нас создается следующая форма:
namespace MetanitApp; public partial class Form1 : Form { public Form1() { InitializeComponent(); TextBox textBox1 = new TextBox(); textBox1.Location = new Point(12, 12); textBox1.Size = new Size(250, 27); Controls.Add(textBox1); Label label1 = new Label(); label1.Location = new Point(12, 60); label1.AutoSize = true; Controls.Add(label1); label1.DataBindings.Add(new Binding("Text", textBox1, "Text")); } }
Здесь создаются и добавляются на форму два элемента управления — текстовое поле TextBox и метка Label. Причем текст метки привязан к тексту текстового поля:
label1.DataBindings.Add(new Binding("Text", textBox1, "Text"));
Здесь первый параметр конструктора Binding — «Text» представляет свойство Text
текущего элемента label1, поскольку мы хотим привязать текст метки.
Второй параметр — textBox1 — объект, к которому привязываемся, то есть текстовое поле.
И третий параметр — «Text» — к какому именно свойству привязываемся. То есть привязка идет к свойству Text
элемента textBox1
В итоге при вводе текста в текстовое поле он сразу будет отображаться в метке.
Форматирование значений привязки
Событие Format позволяет форматировать значение привязки. Это событие представляет делегат
void ConvertEventHandler (object? sender, ConvertEventArgs e)
Второй параметр — объект ConvertEventArgs предоставляет два свойства для отслеживания привязки:
-
DesiredType
: тип данных -
Value
: значение, полученное от источника привязки
Обрабатывая это событие мы можем выполнить форматирование:
namespace MetanitApp; public partial class Form1 : Form { public Form1() { InitializeComponent(); TextBox textBox1 = new TextBox(); textBox1.Location = new Point(12, 12); textBox1.Size = new Size(250, 27); Controls.Add(textBox1); Label label1 = new Label(); label1.Location = new Point(12, 60); label1.AutoSize = true; Controls.Add(label1); Binding binding = new Binding("Text", textBox1, "Text"); binding.Format += (sender, e) => e.Value = $"Content: {e.Value}"; label1.DataBindings.Add(binding); } }
В данном случае мы изменяем полученное значение и новую строку присваиваем свойству e.Value
Установка строки форматирования
Если привязка идет к свойствам, которые представляют числа, даты и время, TimeSpan, перечисления, то класс Binding позволяет задать строку форматирования с помощью
свойства FormatString. Например, пусть у нас метка привязана к элементу выбора даты и времени:
namespace MetanitApp; public partial class Form1 : Form { public Form1() { InitializeComponent(); DateTimePicker dateTimePicker1 = new DateTimePicker(); dateTimePicker1.Location = new Point(12, 12); dateTimePicker1.Size = new Size(250, 27); Controls.Add(dateTimePicker1); Label label1 = new Label(); label1.Location = new Point(12, 60); label1.AutoSize = true; Controls.Add(label1); Binding binding = new Binding("Text", dateTimePicker1, "Value"); label1.DataBindings.Add(binding); } }
Здесь свойство Text
метки привязано к свойству «Value» объекта dateTimePicker1. На данный момент никакого форматирования нет,
поэтому метка отобразит полную дату и время:
Теперь применим форматирование:
namespace MetanitApp; public partial class Form1 : Form { public Form1() { InitializeComponent(); DateTimePicker dateTimePicker1 = new DateTimePicker(); dateTimePicker1.Location = new Point(12, 12); dateTimePicker1.Size = new Size(250, 27); Controls.Add(dateTimePicker1); Label label1 = new Label(); label1.Location = new Point(12, 60); label1.AutoSize = true; Controls.Add(label1); // создаем объект привязки Binding binding = new Binding("Text", dateTimePicker1, "Value"); // делаем доступным форматирование binding.FormattingEnabled= true; // строка форматирования binding.FormatString = "dd.MM.yyyy"; label1.DataBindings.Add(binding); } }
В качестве строки форматирования выступает «dd.MM.yyyy», которая предписывает вывести дату в формате «день.месяц.год»
binding.FormatString = "dd.MM.yyyy";
Но чтобы разрешить форматирование, свойству FormattingEnabled
надо присвоить значение true
(по умолчанию оно равно false
)
binding.FormattingEnabled= true;
Результат форматирования:
В Windows Forms можно выполнить привязку не только к традиционным источникам данных, но и к практически к любой структуре, содержащий данные. Можно выполнить привязку к массиву значений, который рассчитывается во время выполнения, считывается из файла или является производным от значений других элементов управления.
Кроме того, любое свойство любого элемента можно привязать к источнику данных. При традиционной привязке данных пользователь обычно привязывает отображаемое свойство, например свойство Text элемента управления TextBox, к источнику данных. В .NET Framework имеется возможность задавать другие свойства посредством привязки. Привязку можно использовать для выполнения следующих задач.
-
Задание рисунка для элемента управления изображения.
-
Задание цвета фона для одного или нескольких элементов управления.
-
Задание размера элементов управления.
По существу, привязка данных является автоматическим способом задания любого доступного во время выполнения свойства любого элемента управления в форме.
Типы привязки данных
Windows Forms можно использовать преимущества двух типов привязки данных: простой и сложной. Каждая имеет собственные преимущества.
Тип привязки данных | Описание |
---|---|
Простая привязка данных | Возможность привязки элемента управления к одному элементу данных, например к значению в столбце таблицы набора данных. Это тип привязки характерен для элементов управления, таких как TextBox или Label, которые обычно отображают одно значение. По сути, любое свойство в элементе управления можно привязать к полю в базе данных. Имеется широкая поддержка этой возможности в Visual Studio.
Дополнительные сведения: — Интерфейсы, относящиеся к привязке данных |
Сложная привязка данных | Возможность привязки элемента управления к нескольким элементам данных, обычно к нескольким записям в базе данных. Сложная привязка также называется привязкой на основе списка. Примеры элементов управления, которые поддерживают сложную привязку, — DataGridView, ListBox и ComboBox. Пример сложной привязки данных, см. в разделе как: Привязка к данным Windows Forms ComboBox или ListBox-элемент управления. |
Компонент BindingSource
Чтобы упростить привязку данных, Windows Forms позволяет привязать источник данных к компоненту BindingSource, а затем привязать элементы управления к BindingSource. Компонент BindingSource можно использовать в сценариях простой или сложной привязки. В любом случае компонент BindingSource действует как посредник между источником данных и связанными элементами управления, предоставляющий возможности управления уведомлениями об изменениях и другие функции.
Типичные сценарии, в которых используется привязка данных
Практически каждое коммерческое приложение использует сведения, полученные из источников данных разных типов. Обычно это осуществляется через привязку данных. В следующем списке приведено несколько наиболее распространенных сценариев, в которых привязка данных используется в качестве метода представления данных и управления ими.
Сценарий | Описание |
---|---|
Отчеты | Отчеты — это гибкий инструмент отображения и сводного представления данных в печатном документе. Широко распространено создание отчетов, которые выводят выбранное содержимого источника данных на экран или на принтер. Традиционные формы отчетов — списки, счета и сводки. Элементы обычно представлены в виде столбцов списка, у каждой позиции списка существуют вложенные элементы, однако необходимо выбирать макеты, которые лучше всего подходят для организации данных. |
Запись данных | Распространенным способом ввода больших объемов связанных данных или отправки пользователям запросов на предоставление сведений является использование формы для ввода данных. Пользователи могут вводить сведения или выбирать варианты, используя текстовые поля, переключатели, флажки и раскрывающиеся списки. Затем данные отправляются на хранение в базу данных, структура которой основана на введенных данных. |
Отношение «Основной/подробности» | Приложение «Основной/подробности» — это еще один способ просмотра связанных данных. В частности, существует две таблицы данных со связывающими их отношением: в классическом деловом примере — это таблица «Клиенты» и таблица «Заказы» с отношением, связывающим клиентов с их соответствующими заказами. Дополнительные сведения о создании приложения «основной/подробности» с двумя формами Windows DataGridView элементов управления, см. в разделе как: Создание формы «основной/подробности» с помощью двух элементов управления DataGridView Windows Forms |
Таблица подстановки | Другим распространенным сценарием представления данных и работы с ними является использование таблицы подстановок. Являясь частью крупной структуры представления данных, элемент управления ComboBox применяется для отображения данных и управления ими. Смысл заключается в том, что данные, отображаемые в элементе управления ComboBox, отличаются от данных, которые записываются в базу данных. Например, если есть элемент управления ComboBox, отображающий позиции товара в продуктовом магазине, возможно, вы захотите увидеть названия товаров (хлеб, молоко, яйца). Однако чтобы упростить получение сведений из базы данных и нормализовать базу данных, вы, вероятно, сохраните данные по конкретным позициям для определенного заказа виде кодов (501, 603 и т. д.). Таким образом, между понятным именем товара из продуктового магазина в элементе управления ComboBox в форме и соответствующим кодом товара, указанным в заказе, присутствует неявная связь. В этом заключается сущность таблицы подстановок. Дополнительные сведения см. в разделе Как Создание таблицы подстановок с помощью компонента BindingSource в Windows Forms. |
См. также
- Binding
- Привязка данных Windows Forms
- Практическое руководство. Привязка элемента управления DataGrid в Windows Forms к источнику данных
- Компонент BindingSource
Привязка данных в Windows Forms
Брайан НойесПривязка данных в Windows FormsПочти всем серьезным приложениям Windows приходится, с одной стороны, использовать данные, хранящиеся в базах данных, с другой — обеспечивать взаимодействие пользователя с этими данными. Именно здесь вступают в действие механизмы и средства привязки данных, которым посвящена книга. Она охватывает все аспекты привязки данных в Windows Forms. Описываются средства, обеспечивающие связь с базой данных, такие, как типизированные наборы данных и адаптеры таблиц, собственно привязываемые к данным элементы управления, события и интерфейсы привязки данных, средства и методики обработки ошибок. Даются подробные инструкции и рекомендации по работе с инструментальными средствами Microsoft Visual Studio для привязки данных. Большое внимание уделяется нововведениям, таким, как адаптеры таблиц и элемент управления DataGridView. Обсуждается создание специальных пользовательских элементов управления и объектов, пригодных для привязки данных. В приложениях рассматриваются параллельные вопросы, связанные с привязкой данных, такие, как привязка в ASP.NET и доступ данным в ADO.NET.
Популярные книги за неделю:
Только что пользователи скачали эти книги:
Вступление
Предлагаю вашему вниманию перевод статьи Bernardo Castilho посвященный привязке данных сущностей к элементам управления WinForms. Надеюсь, вам статья также поможет в работе как и мне.
- Скачать пример (EF4, C#) — 1.03 MB
- Скачать пример (EF4, C#, separating data layer from the UI layer) — 120 KB
- Скачать пример (EF4, VB, provided by Mr ‘VBForever’) — 946 KB
- Скачать пример (EF5, C#) — 1.3 MB
- Скачать пример (EF6 C#) = 1.3 MB
На сегодняшний день Winforms все еще остается платформой для многих бизнес-приложений, ориентированных на работу с данными, и привязка данных является неотъемлемой частью разработки для Winforms. Если вы использовали стандартные классы ADO.NET для работы с данными, то вы знакомы с инструментами, используемыми для создания классов DataSet и связывания этих классов во время разработки с помощью их свойств DataSource, DataMember или Binding.
Плохая новость заключается в том, что эти богатые возможности разработки не применимы к источникам данных Entity Framework. Даже простая привязка требует написания кода. Чтобы получить работающую базовую привязку, достаточно немного кода, но для получения полноценной привязки, к которой мы привыкли (такой как автоматическая сортировка, фильтрация, и иерархическое связывание), требуется существенный объем работы.
Хорошая новость заключается в том, что с помощью библиотеки EFWinForms можно легко выполнить привязку данных и создать повторно используемый компонент для привязки данных в Winforms. В библиотеке есть два компонента:
- EntityDataSource: компонент, который инкапсулирует модель сущности данных и представляет его элементы в качестве источников данных, пригодных для связывания, с полной поддержки во время разработки.
- EntityBindingNavigator: элемент управления, который обеспечивает навигацию для просмотра и предоставляет пользовательский интерфейса для добавления и удаления записей, сохранение или отмены изменений в базе данных.
Компонент EntityDataSource
Компонент EntityDataSource играет роль DataSet и BindingSource в стандартном ADO.NET программировании. Чтобы использовать его, сначала необходимо создать Entity Data Model.
После этого, перетащите компонент EntityDataSource на форму и свойство ObjectContextType типа ObjectContext установите в один из представленных Entity Data Model контекстов. (Если у вас EF6, используйте свойство DbContextType вместо ObjectContextType). Когда вы это сделаете, компонент EntityDataSource создает объект контекста и использует рефлексию, чтобы найти все источники данных, доступных в контексте. Эти источники данных, затем появляются в дизайнере с помощью реализации IListSource.
После этого Вы можете добавлять элементы управления на форму и связывать их с EntityDataSource с помощью их свойств DataSource, DataMember и Binding как обычно. Один EntityDataSource предоставляет доступ ко всем таблицам и представлениям в модели и сохраняет изменения только с помощью вызова метода SaveChanges.
Примеры
Лучший способ понять, как работает EntityDataSource рассмотреть несколько примеров. В следующем разделе рассказывается о том, как использовать EntityDataSource для реализации четырех типичных сценариев привязки данных. Все сценарии используют одну Entity Data Model, созданную на основе БД Northwind.
Чтобы использовать его, сначала необходимо создать Entity Data Model.
Создание Entity Data Model
Чтобы создать Entity Data Model, щелкните правой кнопкой дерево проекта в окне Solution Explorer и затем выберите “Add | New Item…”.
Появится диалоговое окно “Add New Item”. Выберите “ADO.NET Entity Data Model”, задайте имя модели и щелкните расположенную внизу формы кнопку “Add”.
Появится диалоговое окно “Entity Data Model Wizard” в котором нужно выбрать какую модель вы будете создавать: модель, сгенерированную из существующей базы данных или пустую модель. Выберите первый вариант и нажмите “Next”.
Следующий шаг-выбор базы данных для создания модели. Вы можете выбрать существующее подключение, или используя кнопку “New Connection”, создать новое. В нашем примере мы создадим подключение к базе данных SQL Server «Northwind».
Файл базы данных называется “NorthWnd.mdf и входит в состав примера. После того как вы выбрали базу данных, мастер предложит вам выбрать таблицы, представления и хранимые процедуры, которые необходимо включить в Entity Data Model. В нашем примере мы просто выберем все таблицы, как показано на рисунке ниже:
Щелкните кнопку “Finish” чтобы создать модель. В ваш проект добавятся два элемента: файл “Model1.edmx” описывающий с помощью XML концептуальную модель и связанный с ним “Model1.Designer.cs” который содержит сгенерированный код, включая ObjectContext использующийся для доступа к данным и классы сущностей, такие как Product, Employee и т.п.
Щелкните два раза на edmx-файле. Появится окно Entity Data Model Designer, в котором можно просматривать, редактировать модель, а также пересоздать ее в любой момент, если вы вдруг измените схему базы данных или если вы захотите изменить список таблиц и представлений, которые необходимо включить в модель. Все автоматически сгенерированные классы в файле «Designer.cs” объявлены как частичные. Это позволяет нам расширять их, добавлением бизнес логики в отдельные файлы, которые не будут изменены, если вы пересоздадите модель из базы данных.
Теперь вы можете использовать модель данных так, как показано ниже:
public Form1()
{
InitializeComponent();
using
(
var ctx = new NORTHWNDEntities())
{
dataGridView1.DataSource = ctx.Products.ToList();
}
}
Этот код создает объект ObjectContext, который предоставляет данные для модели, строит список, содержащий все товары (products), и показывает список в таблице. Вы можете отредактировать товары и сохранить изменения в базе данных путем вызова метода ctx.SaveChanges().
Если вы запустите код, то заметите некоторые серьезные ограничения: нельзя сортировать или фильтровать данные, нельзя добавлять или удалять элементы из списка и конечно же нельзя настроить столбцы таблицы (Grid) во время разработки с помощью редактора таблицы (Grid).
Эти ограничения обусловлены тем, что в качестве источника используется список (просто „мгновенный снимок“ данных). IBindingList, который Winforms создает автоматически, в этом случае обеспечивает лишь минимальную функциональность.
Создание Grid View (With AutoLookup)
Чтобы устранить эти недостатки, добавьте на форму компонент EntityDataSource и в окне Properties, установите его свойство ObjectContextType в “Sample.NORTHWNDEntities”, как показано на рисунке ниже (Примечание: если у вас EF6, используйте DbContextType вместо ObjectContextType):
Компонент EntityDataSource использует значение из ObjectContextType для создания контекста объекта, чтобы сгенерировать представления для всех элементов, описанных в модели данных.
Теперь добавьте элемент управления DataGridView на форму и в окне Properties, установите свойство DataSource в entityDataSource1, а свойство DataMember в Products, как показано ниже:
В DataGridView автоматически создадутся столбцы, чтобы отобразить свойства класса Product. В режиме дизайнера вы можете переупорядочить столбцы, установить их ширину, заголовок, выравнивание, формат, и т. д.
Если сейчас запустить проект, то вы увидите, что таблица заполняется автоматически, и вы можете выполнять все действия какие захотите, включая редактирование, сортировку, добавление или удаление элементов.
Все это возможно потому, что компонент EntityDataSource оборачивает список товаров в класс EntityBindingList, который реализует интерфейс IBindingListView и поддерживает сортировку, фильтрацию, добавление и удаление элементов.
Сохранение изменений
После редактирования данных, вы вероятно захотите сохранить изменения в базу данных. Для демонстрации того, как это можно сделать, добавьте на форму три кнопки и установите их свойство Text в “Save”, “Cancel”, and “Refresh” и присоедините к событиям Click этих кнопок следующие обработчики:
// save/cancel/refresh changes in the data source
void _btnSave_Click(object sender, EventArgs e)
{
entityDataSource1.SaveChanges();
}
void _btnCancel_Click(object sender, EventArgs e)
{
entityDataSource1.CancelChanges();
}
void _btnRefresh_Click(object sender, EventArgs e)
{
entityDataSource1.Refresh();
}
Этот код не требует пояснений. Первая кнопка сохраняет все изменения обратно в базу данных. Вторая отменяет изменения путем повторного извлечения данных, и третья сохраняет изменения и выбирает данные заново.
Есть одна важная деталь, про которую часто забывают: при сохранении изменений в базу данных возможно появление исключений. Например, при сохранении изменений, нарушающих ограничения целостности БД. К сожалению, нет общих рецептов для борьбы с этим типом исключения. Их природа зависит от схемы базы данных и самого приложения.
Независимо от того, как вы планируете бороться с возможными исключениями, первое, что нужно сделать — это поймать их. Чтобы сделать это, нужно обернуть вызов метода SaveChanges блоком try/catch, или добавить обработчик события DataError в компонент EntityDataSource. Вот так наше приложение сможет обработать возможные ошибки при сохранении данных:
// report any errors
void entityDataSource1_DataError(object sender, DataErrorEventArgs e)
{
MessageBox.Show("Error Detected:\r\n" + e.Exception.Message);
entityDataSource1.CancelChanges();
e.Handled = true;
}
Код выдает предупреждение, отменяет изменения, и устанавливает параметр Handled в True, чтобы указать, что ошибка уже обработана и генерировать исключения не нужно.
Использование поиска по словарям для представления связанных сущностей
Чтобы закончить с этим примером, давайте рассмотрим обычный сценарий. У класса Product есть два свойства — Category и Supplier, представляющие собой связанные сущности. По умолчанию эти свойства не представлены в таблице, но с помощью редактора колонок можно добавить столбцы для этих сущностей в нашу таблицу. Изображение ниже показывает, как это можно сделать:
Проблема состоит в том, что DataGridView не знает, как отображать связанную сущность, по умолчанию просто используется метод ToString, и в результате мы получаем два столбцы „только для чтения“, ячейки которых заполнены значениями “Sample.Category” и “Sample.Supplier”.
Но для выполнения реальной работы требуется столбец, который показывает категории и имена поставщиков, в идеале с редактором, позволяющим изменять категории и поставщиков путем выбора из списков. Обычно это делается путем написания кода для создания и связывания пользовательских столбцов (в DataGridViewComboBoxColumn если вы используете элемент управления DataGridView).
Т.к. это распространенный сценарий, компонент EntityDataSource поддерживает расширенное свойство AutoLookup. Это свойство автоматически становится доступным в любом элементе управления DataGridView или C1FlexGrid размещенным на форме (в C1FlexGrid является популярным компонентом табличного представления данных, значительно быстрее и навороченней чем DataGridView).
Обратите внимание, что хотя компонент EntityDataSource поддерживает C1FlexGrid, сборка EFWinForms не зависит от сборки C1FlexGrid. Это достигается с помощью ключевого слово »dynamic», которое опирается главным образом на рефлексию, чтобы связывать свойства во время выполнения. Тот же самый механизм может использоваться, чтобы расширить компонент EntityDataSource для поддержки в других компонентах табличного представления данных.
На рисунке ниже показано, как можно включить свойство AutoLookup в DataGridView:
Как только вы включите свойство AutoLookup, компонент EntityDataSource будет автоматически сканировать столбцы в таблице, чтобы заменить столбцы, привязанные к сущностям на редактируемые столбцы, основанные на “data map”, содержащие список возможных значений связанных сущностей и отображения значений для каждого из них.
На рисунке ниже показан результат установки свойства AutoLookup в True:
Обратите внимание, как столбцы “Category” и “Supplier” показывают имена категорий и названия поставщиков, и что можно поменять поставщика для продукта, просто выбрав нового из списка.
Вы можете удивиться, как EntityDataSource выбирает нужное поле из связанных сущностей для отображения в таблице. Это делается с помощью следующего алгоритма:
- Если класс реализует метод ToString (а не просто наследует), тогда реализация ToString используется для представления сущности.
- В противном случае, если у класса есть свойство типа string, в названии которого есть слово “Name”, то это свойство используется для представления сущности.
- В противном случае, если у класса есть свойство типа string, в названии которого есть слово “Description”, то это свойство используется для представления сущности.
- Если ничего из вышеперечисленного не применяется, то привязка данных не может быть выполнена для этого класса.
Первое правило наиболее общее и гибкое. Например, класс Employee в базе данных «Northwind » имеет свойства Firstname и Lastname. Какое-то одно из них может быть использовано для представления сущностей в списке, но в идеале хотелось бы использовать оба. Чтобы сделать это, мы просто переопределим метод ToString в классе Employee и создадим строку состоящую из обоих свойств:
/// <summary>
/// Add a field with the employee's full name
/// </summary>
public partial class Employee
{
public string FullName
{
get { return string.Format("{0} {1}", FirstName, LastName); }
}
public override string ToString()
{
return FullName;
}
}
Обратите внимание, что использование частичного класса расширяет стандартный класс, созданный с помощью мастера ADO.NET Entity Framework. Если в какой-то момент вы решите заново сгенерировать модель сущности данных, наша реализация метода ToString не будет затронута.
В базе данных «Northwind», Employee — единственный класс, который требует каких-либо специальных методов для привязки данных. Все остальные классы имеют такие свойства, как “CustomerName” или “CategoryDescription”, которые автоматически используются компонентом EntityDataSource и обеспечивают необходимый эффект.
На этом первый пример окончен.
|
|
|
|
Лучшее в категории — Книги / Компьютерная литература
Windows 10 для чайников (2016, Энди Ратбон) Рейтинг: 10 из 10 |
Смартфоны и планшеты Android проще простого (2015, Евгения Пастернак) Рейтинг: 9,5 из 10 |
Бизнес-анализ с использованием Excel. 4-е издание + CD (2014, Конрад Карлберг) Рейтинг: 9,5 из 10 |
Программирование на Python для начинающих (2015, Майк МакГрат) Рейтинг: 9,4 из 10 |
Программирование. Принципы и практика с использованием C++. 2-е издание (2016, Бьярне Страуструп) Рейтинг: 9,4 из 10 |
Сборник книг по программированию на С и С++ (1992) Рейтинг: 9,3 из 10 |
Windows 10. Новейший самоучитель (2015, Виталий Леонтьев) Рейтинг: 9,3 из 10 |
Язык программирования C. Лекции и упражнения. 6-е издание (2015, Стивен Прата) Рейтинг: 9,3 из 10 |
18
апр
2010
ISBN: 978-5-9518-0313-9
Формат: DjVu, Отсканированные страницы
Год выпуска: 2009
Жанр: Компьютерная
Издательство: Бином
Язык: русский
Количество страниц: 630
Описание: Почти всем серьезным приложениям Windows приходится, с одной стороны, использовать данные, хранящиеся в базах данных, с другой — обеспечивать взаимодействие пользователя с этими данными. Именно здесь вступают в действие механизмы и средства привязки данных, которым посвящена книга. Она охватывает все аспекты привязки данных в Windows Forms. Описываются средства, обеспечивающие связь с базой данных, такие, как типизированные наборы данных и адаптеры таблиц, собственно привязываемые к данным элементы управления, события и интерфейсы привязки данных, средства и методики обработки ошибок. Даются подробные инструкции и рекомендации по работе с инструментальными средствами Microsoft Visual Studio для привязки данных. Большое внимание уделяется нововведениям, таким, как адаптеры таблиц и элемент управления DataGridView. Обсуждается создание специальных пользовательских элементов управления и объектов, пригодных для привязки данных. В приложениях рассматриваются параллельные вопросы, связанные с привязкой данных, такие, как привязка в ASP.NET и доступ данным в ADO.NET.
Книга адресована прежде всего программистам, занимающимся созданием клиентских приложений для баз данных.
13
сен
2009
Работаем в Windows 7 (2009, В.П. Леонтьев)
Глава из новой книги В. П. Леонтьева «Новейшая энциклопедия персонального компьютера — 2009» посвящена работе в OC Windows 7. Установка, интерфейс, оптимизация, решение проблем и т.д. Короткий, сжатый курс для новичка. Это новое издание популярной компьютерной энциклопедии включает самую актуальную информацию, необходимую каждому владельц …
Формат: PDF, Отсканированные страницы
Год выпуска: 2009
Автор: В.П. Леонтьев
Жанр: Компьютерная литература
Издательство: ОЛМА Медиа Групп
Количество страниц: 268
08
мар
2012
Работаем на ноутбуке в Windows 7 (2010, В.Гольцман)
Вы приобрели ноутбук? И это ваш первый компьютер? Тогда вы держите в руках действительно необходимую книгу. Прочитав ее, вы не только узнаете о том, как работать на компьютере вообще, но и освоите все необходимые тонкости, относящиеся к работе с ноутбуками. Вы научитесь выбирать мобильный компьютер и аксессуары к нему, узнаете, как устано …
ISBN: 978-5-49807-577-8
Формат: PDF, EBook (изначально компьютерное)
Автор: В.Гольцман
Год выпуска: 2010
Жанр: Компьютерная литература
Издательство: Питер
Язык: Русский
Количество страниц: 160
08
мар
2012
Работаем на ноутбуке в Windows 7.Самоучитель (2010, А.Артемьев)
Вы собираетесь приобрести ноутбук или только что купили его? Причем для вас это первый компьютер? Тогда данная книга — то, что вам нужно. Прочитав ее, вы узнаете, как правильно выбрать ноутбук. Вы застрахуете себя от покупки бракованного товара и не потеряете деньги, приобретя компьютер по завышенной цене. В книге рассказано о типах совре …
ISBN: 978-5-49807-574-7
Формат: PDF, EBook (изначально компьютерное)
Автор: А.Артемьев
Год выпуска: 2010
Жанр: Компьютерная литература
Издательство: Питер
Язык: Русский
Количество страниц: 400
04
июн
2008
Windows XP. Полный справочник в вопросах и ответах (2008, Г. Евсеев)
Вы умеете пользоваться компьютером, но хотите сделать работу более эффективной? Вам приходится тратить много времени, чтобы вспомнить, как выполняются настройки? Вы знаете, что каждая настройка удивительно проста, но не представляете, как можно запомнить тысячи настроек? Значит, вам нужен удобный справочник. Профессионалы никогда ничего с …
Автор: Г. Евсеев, С. Симонович
Издательство: Питер
Год выпуска: 2008
Количество страниц: 544
23
июн
2007
Алгоритмы и структура данных (1989, Никлаус Вирт)
Новая книга известного швейцарского специалиста посвящена изложению йундаментальных принципов построения эффективных и надежных программ. В ней содержица также описание и анализ основных алгоритмов. Изложение ведется на языке Модула-2. Для программистов разной квалификации, преподавателей и студентов, специализирующихся по програмному обе …
Алгоритмы и структура данных
Жанр: Теория программирования
Автор: Никлаус Вирт
Издательство: Мир
Страна: Россия
Год выпуска: 1989
Количество страниц: 360
20
янв
2014
Восстановление данных на 100% (2009, Петр Ташков)
В книге изложены методы восстановления данных с различных носителей информации – жестких дисков, массивов RAID, CD, DVD, карт флэш-памяти, карт фотоаппаратов и мобильных телефонов. Ремонт поврежденного оборудования рассматривается в издании только как один из аспектов всего процесса извлечения данных. Основная тема – извлечение данных, по …
ISBN: 978-5-388-00521-2
Формат: PDF, FB2, EBook (изначально компьютерное)
Автор: Петр Ташков
Год выпуска: 2009
Жанр: Компьютерная литература
Издательство: Питер
Серия: На 100%
Язык: Русский
Количество страниц: 208/160
06
июн
2016
Microsoft Excel 2013. Анализ данных и бизнес-моделирование (2015, Уэйн Л. Винстон)
Данное практическое руководство ориентировано на сценарии. В нем наглядно демонстрируется использование новейших инструментов Excel для интеграции данных из нескольких таблиц и создания реляционного источника данных в книге Excel. Рассказано о новых тенденциях в прогнозной и предписывающей аналитике. Описаны кривые тренда, множественная р …
ISBN: 978-5-7502-0437-3, 978-5-9775-3584-7
Формат: PDF, EBook (изначально компьютерное)
Автор: Уэйн Л. Винстон
Переводчик: Наталия Гаврилова
Год выпуска: 2015
Жанр: Компьютерная литература, программирование
Издательство: Русская Редакция, БХВ-Петербург
Язык: Русский
Количество страниц: 864
04
июн
2008
Справочник Windows Vista [2008]
В электронной книге описаны основные советы и подсказки по настройке и оптимизации операционной системы Windows Vista, которые помогут Вам наиболее практично настроить Вашу систему.
Автор: Стратковский Алик
Издательство: AzBooKa
Год выпуска: 2008
Количество страниц: 55
28
мая
2008
Реестр Windows XP (2003, Джерри Хонейкатт)
Умение работать с реестром позволит вам настроить Windows XP так, как вы не сможете настроить ее с помощью интерфейса пользователя. Вы узнаете, куда в реестре Windows XP и другие программы сохраняют свои настройки, научитесь создавать и распространять эффективные профили пользователей, писать скрипты для редактирования реестра, создавать …
Автор: Джерри Хонейкатт
Издательство: Эком
Язык: Русский
Год выпуска: 2003
Количество страниц: 655