Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.93/74: Рейтинг темы: голосов - 74, средняя оценка - 4.93
5 / 5 / 0
Регистрация: 19.09.2008
Сообщений: 71

DataSet+DataTable+DataView

08.10.2008, 02:24. Показов 15495. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как заполнить dataset без датаадаптера данными из datatable, чтоб потом отобразить их через DataView.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.10.2008, 02:24
Ответы с готовыми решениями:

DataView -> DataTable
Подскажите плиз как применить изменения DataView к DataTable

Dataset и DataTable
ребят подскажите как извлечь DataTable из DataSet.

datatable and dataset
проблема в том что дататэйбл почему то не заполняеться данными у меня в проекте не зна ютрабла в чем вот код ...

22
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
08.10.2008, 03:20
Положить DataTable в DataSet.
0
5 / 5 / 0
Регистрация: 19.09.2008
Сообщений: 71
08.10.2008, 12:50  [ТС]
можно пару строчек кода увидеть как это сделать?
0
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
08.10.2008, 13:26
Используйте DataGridView. Свойства для привязки DataSource и DataMember.

P.S. Прочтите книгу Brine Noyes "Data Binding with Windows Forms 2.0: Programming Smart Client Data Application with .NET".
0
5 / 5 / 0
Регистрация: 19.09.2008
Сообщений: 71
08.10.2008, 23:11  [ТС]
спасибо. обыскал сегодня весь инет. Есть ссылки но они битые.

если у вас есть залейте на файлообменник и сылочку скиньте в личку. Очень нужно разобратся с этой темой
0
Администратор
 Аватар для mik-a-el
87844 / 53165 / 249
Регистрация: 10.04.2006
Сообщений: 13,764
08.10.2008, 23:15
Лучший ответ Сообщение было отмечено mik-a-el как решение

Решение

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
    // Create one DataTable with one column.
    DataTable table = new DataTable("table");
    DataColumn colItem = new DataColumn("item",
        Type.GetType("System.String"));
    table.Columns.Add(colItem);
 
    // Add five items.
    DataRow NewRow;
    for(int i = 0; i <5; i++)
    {
        NewRow = table.NewRow();
        NewRow["item"] = "Item " + i;
        table.Rows.Add(NewRow);
    }
    // Change the values in the table.
    table.Rows[0]["item"]="cat";
    table.Rows[1]["item"] = "dog";
    table.AcceptChanges();
 
    // Create two DataView objects with the same table.
    DataView firstView = new DataView(table);
    DataView secondView = new DataView(table);
 
    // Print current table values.
    PrintTableOrView(table,"Current Values in Table");
 
    // Set first DataView to show only modified 
    // versions of original rows.
    firstView.RowStateFilter=DataViewRowState.ModifiedOriginal;
 
    // Print values.   
    PrintTableOrView(firstView,"First DataView: ModifiedOriginal");
 
    // Add one New row to the second view.
    DataRowView rowView;
    rowView=secondView.AddNew();
    rowView["item"] = "fish";
 
    // Set second DataView to show modified versions of 
    // current rows, or New rows.
    secondView.RowStateFilter=DataViewRowState.ModifiedCurrent 
        | DataViewRowState.Added;
    // Print modified and Added rows.
    PrintTableOrView(secondView, 
        "Second DataView: ModifiedCurrent | Added");
DataTable привязывается к DataSet через коллекцию DataSet.Tables.
0
5 / 5 / 0
Регистрация: 19.09.2008
Сообщений: 71
09.10.2008, 00:12  [ТС]
спасибо за код. но чето я запутался.
мы создали таблицу и заполнили ее строками дальше
создали датаview и соединили его с заполненной таблицей.
вопрос: зачем нам датасет(или он нам вопще не нужен для отображения таблицы через датавие?), другими словами посредник между ними, чтоб отобразить таблицу, в которой хранятся данные через датаview, который может отображать эти данные?

Дело в том, что если просто создать DataTable+DataView то на экране после запуска ничего не отображается.
0
Администратор
 Аватар для mik-a-el
87844 / 53165 / 249
Регистрация: 10.04.2006
Сообщений: 13,764
09.10.2008, 10:17
Цитата Сообщение от rwety Посмотреть сообщение
вопрос: зачем нам датасет(или он нам вопще не нужен для отображения таблицы через датавие?)
Датасет здесь не нужен. Но вы же сами его хотели
Смотрите код выше, там все есть.
0
5 / 5 / 0
Регистрация: 19.09.2008
Сообщений: 71
09.10.2008, 12:08  [ТС]
в коде всё понятно, но вот части которая мне нужна нет.
после запуска на экране ничего не отображается если убрать
C#
1
2
PrintTableOrView(table,"Current Values in Table");
PrintTableOrView(firstView,"First DataView: ModifiedOriginal");
которые меня интересуют.
этот пример наверняка взят из хелпа и методы PrintTableOrView выводят содержимое в консоль, я так думаю.
возможно DataTable+DataView не достаточно соединить, нужно DataView в ручную заполнить. Сдесь можно использовать DataSource и DataBinding?
0
Администратор
 Аватар для mik-a-el
87844 / 53165 / 249
Регистрация: 10.04.2006
Сообщений: 13,764
09.10.2008, 12:16
Этот пример взят из MSDN. Факт того, что вам он не знаком, говорит о том, что вы не читали документацию по этому контролу. Советую это сделать.
0
5 / 5 / 0
Регистрация: 19.09.2008
Сообщений: 71
09.10.2008, 21:03  [ТС]
Кто мне ответит почему не отображается DataView с данными после компиляции и как сделать чтоб они отображались? Работаю на VWD 2008.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
DataTable table = new DataTable("table");
        DataColumn colItem = new DataColumn("item",
            Type.GetType("System.String"));
        table.Columns.Add(colItem);
 
        // Add five items.
        DataRow NewRow;
        for (int i = 0; i < 5; i++)
        {
            NewRow = table.NewRow();
            NewRow["item"] = "Item " + i;
            table.Rows.Add(NewRow);
        }
 DataView firstView = new DataView(table);
0
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
10.10.2008, 05:44
Покажите, пожалуйста, где здесь указано, что DataView должен отобразить ваши данные на экране.
0
5 / 5 / 0
Регистрация: 19.09.2008
Сообщений: 71
10.10.2008, 16:22  [ТС]
я и не говорю, что там оно указано.
По другому сформулирую вопрос.
пере до мной стоит такая задача:нужно по нажатию кнопки добавить запись в таблицу из TextBox'a при этом указав по какому столбцу будет происходить сортировка.
И при этом я не хочу использовать SQLConnection и какие либо внешние таблицы.
Насколько я знаю Датавие справляется с сортировкой и отображением данных очень хорошо. поэтому я и хочу его задействовать как объект, который будет отображать данные из таблицы.
Вопрос. Можно такое сделать или нет? Если нет, то как еще можно это реализовать без использования внешних таблиц?
0
Администратор
 Аватар для mik-a-el
87844 / 53165 / 249
Регистрация: 10.04.2006
Сообщений: 13,764
10.10.2008, 16:25
DataView - это всего лишь способ представления данных DataTable. Чтобы отобразить данные, необходимо использовать визуальные компоненты (гриды).
Цитата Сообщение от rwety Посмотреть сообщение
пере до мной стоит такая задача:нужно по нажатию кнопки добавить запись в таблицу из TextBox'a при этом указав по какому столбцу будет происходить сортировка.
Так DataView здесь и не нужен. сортировку может делать сам грид.
0
5 / 5 / 0
Регистрация: 19.09.2008
Сообщений: 71
10.10.2008, 19:03  [ТС]
попробовал через DataView. не отображается на экране ничего и хоть что ты ему сделай.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
DataTable customerTable = new DataTable("Customers");
        // Add columns
        customerTable.Columns.Add("id", typeof(int));
        customerTable.Columns.Add("name", typeof(string));
 
        // Set PrimaryKey
        customerTable.Columns["id"].Unique = true;
        customerTable.PrimaryKey = new DataColumn[] { customerTable.Columns["id"]};
 
        customerTable.Rows.Add(new object[] { 0, "string1" });
        // Add ten rows
        for (int id = 1; id <= 10; id++)
        {
            customerTable.Rows.Add(
                new object[] { id, string.Format("customer{0}", id) });
        }
        customerTable.AcceptChanges();
 
        DataSet ds = new DataSet("ds");
        ds.Tables.Add("Customers");
        
        GridView gv = new GridView();
        
        gv.DataSource = ds;
        gv.AutoGenerateColumns = true;
        gv.DataBind();
        }
0
4 / 4 / 0
Регистрация: 17.09.2008
Сообщений: 88
10.10.2008, 19:35
GridView gv = new GridView(); - елки палки этот обьект вы создали динамически и не чего не сказали о том что его нужно рисовать, для этого чьтобы он отобразился его нужно добавить в коллекцию контролов формы на которой вы хотите его рисовать

Добавлено через 5 минут 45 секунд
GridView gv = new GridView(); - елки палки этот обьект вы создали динамически и не чего не сказали о том что его нужно рисовать, для того чтобы он отобразился его нужно добавить в коллекцию контролов формы на которой вы хотите его рисовать.
А форма вывозит у него метод Рендер.
Блин что-то ужасно глючит редактирование
0
5 / 5 / 0
Регистрация: 19.09.2008
Сообщений: 71
10.10.2008, 19:39  [ТС]
можно по подробней о том как "сказать" что нужно нарисоватся на форме или как его нужно добавить в коллекцию контролов формы
0
4 / 4 / 0
Регистрация: 17.09.2008
Сообщений: 88
10.10.2008, 19:49
вы в чем програмете в ASP или Win Forms?

Добавлено через 8 минут 13 секунд
короче если в аспи, то у формы есть колекция -- контролс, вызываешь у нее метод добавить, передаешь туда свой контрол и все ок.
0
5 / 5 / 0
Регистрация: 19.09.2008
Сообщений: 71
10.10.2008, 19:52  [ТС]
ASP.Net на VWD
0
4 / 4 / 0
Регистрация: 17.09.2008
Сообщений: 88
10.10.2008, 20:12
Цитата Сообщение от rwety Посмотреть сообщение
ASP.Net на VWD
тогда например в
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
protected void Page_Load(object sender, EventArgs e)
{
  DataTable customerTable = new DataTable("Customers");
        // Add columns
        customerTable.Columns.Add("id", typeof(int));
        customerTable.Columns.Add("name", typeof(string));
 
        // Set PrimaryKey
        customerTable.Columns["id"].Unique = true;
        customerTable.PrimaryKey = new DataColumn[] { customerTable.Columns["id"]};
 
        customerTable.Rows.Add(new object[] { 0, "string1" });
        // Add ten rows
        for (int id = 1; id <= 10; id++)
        {
            customerTable.Rows.Add(
                new object[] { id, string.Format("customer{0}", id) });
        }
        customerTable.AcceptChanges();
 
        DataSet ds = new DataSet("ds");
        ds.Tables.Add("Customers");
        
        GridView gv = new GridView();
        
        gv.DataSource = ds;
        gv.AutoGenerateColumns = true;
        gv.DataBind();
       [COLOR="Black"] Controls.Add(gv);[/COLOR]
 
}
Добавлено через 13 минут 22 секунды
Вот так точно работает только за место текстбокса твой грид

C#
1
2
3
4
5
6
7
8
9
public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        TextBox t = new TextBox();
        t.Text = "QWERTt";
        Form.Controls.Add(t);
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.10.2008, 20:12
Помогаю со студенческими работами здесь

DataTable из DataSet (по C#)
Как получить переменную DataTable из DataSet (по C#)? (для использования DataView)

Создание и заполнение datatable из dataset
Hellow world! Подскажите пожалуйста, как создать и заполнить DataTable(таблица DataSet) и связать её с DGV(чтобы DGV заполнялось данными из...

Объясните работу с DataAdapter, DataSet и DataTable
Доброго времени суток! Столкнулся с такой проблемой: Создаю DataAdapter, в который помещаю SQL-запрос (в который, кроме команд SQL,...

Вывод содержимого Dataset и Datatable в datagridview
Ситуация такая есть нормально работающий фрагмент кода SqlCommand cmd = new SqlCommand(&quot;select * from Клиент&quot;, conn); ...

Массовая вставка/обновление таблицы сервера данными из DataTable (DataSet)
Есть DataSet ( таблица в DataSet.Tables: ID-ключ, NAME, PROVIDER) И таблица dbo.NT с аналогичной структурой на сервере MSSQL. Как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru