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

DataSet+DataTable+DataView

08.10.2008, 02:24. Показов 15526. Ответов 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
87856 / 53177 / 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
87856 / 53177 / 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
87856 / 53177 / 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
87856 / 53177 / 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru