Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> выбрать столбец, необходимо выбрать из таблицы столбец 
:(
    Опции темы
HelgaZaharova
Дата 1.6.2009, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 22.4.2008

Репутация: нет
Всего: нет



Здрямс!
Необходимо построить график по таблице.
в таблице необходимо выбрать стлбец с определенным номером и прописать его значения для названия категории. Примерно так, как это делается тут со строками:

Код

  foreach (DataRow row in table.Rows)
        {
            Category category = new Category();
            category.Name = row[0].ToString();
            graph.Categories.Add(category);        
         
        }



Проблема в том, что я не могу поменять таблицу,  а вариант со строками берет значения для разных данных ( например, в первом столбце написана сила тока, во втором скорость, он будет строить по двум точками - сила тока, скорость).
PM MAIL   Вверх
KelTron
Дата 1.6.2009, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 8.10.2006
Где: Красноярск

Репутация: 5
Всего: 38



Что ты имеешь ввиду под 
Цитата(HelgaZaharova @  1.6.2009,  11:35 Найти цитируемый пост)
поменять таблицу


Цитата(HelgaZaharova @  1.6.2009,  11:35 Найти цитируемый пост)
вариант со строками берет значения для разных данных

Что то я не пойму в чём конкретно заключается проблема)


--------------------
Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог.
Эвенгар Салладорский, основатель Школы Тьмы.
PM MAIL   Вверх
HelgaZaharova
Дата 1.6.2009, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 22.4.2008

Репутация: нет
Всего: нет



Например, у тебя есть таблица:
_____________________________
I Код   I  Стоимость  I  Инфляция   I
_____________________________
I     1    I       234       I         12         I
_____________________________   и т.д


Если строить графики, необходимо брать отдельно значения "стоимость" и "инфляция" (т.у. столбыцы)
Код, который я привела изначально выбирает строки. Т.е., для данного примера, график у тебя будет содержать две точки- одна значение стоимости, другая - инфляция.



PM MAIL   Вверх
Gluttton
Дата 1.6.2009, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: нет
Всего: 54



Цитата

Код, который я привела изначально выбирает строки. Т.е., для данного примера, график у тебя будет содержать две точки- одна значение стоимости, другая - инфляция.


Странно...
Т.к. в коде указано брать данные из одного row, у которого индекс равен 0...
Код

            category.Name = row[0].ToString();

На примере приведенной Вами таблицы это будет значение поля "Код".


--------------------
Слава Україні!
PM MAIL   Вверх
HelgaZaharova
Дата 2.6.2009, 02:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 22.4.2008

Репутация: нет
Всего: нет



Row - это строка (горизонталь) мне нужен Column (вертикаль) 
PM MAIL   Вверх
KelTron
Дата 2.6.2009, 05:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 8.10.2006
Где: Красноярск

Репутация: 5
Всего: 38



Цитата(HelgaZaharova @  1.6.2009,  20:11 Найти цитируемый пост)
необходимо брать отдельно значения "стоимость" и "инфляция" (т.у. столбыцы)

Тебе ведь нужны не столбцы, а значения, которые хранятся в этих столбцах для каждой строки, или я не прав?

Цитата(HelgaZaharova @  1.6.2009,  11:35 Найти цитируемый пост)

 foreach (DataRow row in table.Rows)        
{            
    Category category = new Category();         
    category.Name = row[0].ToString();           
    graph.Categories.Add(category);                         
}


В данном коде  row - это действительно строка, но row[0] - это именно значение, которое хранится в данной строке в нулевом столбце, т.е.
row[0] - Код, и, соответственно, row[1] - Стоимость, row[2] - Инфляция.



--------------------
Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог.
Эвенгар Салладорский, основатель Школы Тьмы.
PM MAIL   Вверх
HelgaZaharova
Дата 2.6.2009, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 22.4.2008

Репутация: нет
Всего: нет



Нет, если исходить из данной таблицы, то значения, которые получаеются из такого когда:
Row[1] = {234, 12}
ну и дальше row[2] берет следующую пару значений...
PM MAIL   Вверх
KelTron
Дата 2.6.2009, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 8.10.2006
Где: Красноярск

Репутация: 5
Всего: 38



А у тебя случайно не такой ли код?

foreach (DataRow row in table.Rows)
        {
            Category category = new Category();
            category.Name = table.Rows[0].ToString();
            graph.Categories.Add(category);        
         
        }

Если нет, то приведи пожалуйста, свой код, а это превращается в гадание на кофейной гуще..)

Это сообщение отредактировал(а) KelTron - 2.6.2009, 13:03


--------------------
Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог.
Эвенгар Салладорский, основатель Школы Тьмы.
PM MAIL   Вверх
HelgaZaharova
Дата 2.6.2009, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 22.4.2008

Репутация: нет
Всего: нет



Да код этот (он, кстати, указан в начале)) 
Я дума.ю. что наверное, стоит указать еще номер столбца - тогда будет определен именно е\элемент на пересечении строки и столбца.
PM MAIL   Вверх
KelTron
Дата 2.6.2009, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 8.10.2006
Где: Красноярск

Репутация: 5
Всего: 38



Да нет, вначале указан другой код:
Код

row[0].ToString();


а здесь:
Код

table.Rows[0].ToString();


Т.е. в первом случае всё будет работать правильно, во втором естественно нет, 
т.к.  в строку(string) преобразуется объект DataRow, а не значение.

Что то мне подсказывает, что у тебя даже не DataRow и не DataTable, а DataGridViewRow и DataGridView.
Поэтому обращение к значению в столбце отличается от первого случая:
Код

foreach (DataGridViewRow row in this.dataGridView) 
            {
                string xxx = row.Cells[0].Value;
            }



--------------------
Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог.
Эвенгар Салладорский, основатель Школы Тьмы.
PM MAIL   Вверх
Gluttton
Дата 4.6.2009, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: нет
Всего: 54



Извиняюсь, что с такой задержкой, но тем не менее...
Цитата

Странно...
Т.к. в коде указано брать данные из одного row, у которого индекс равен 0...
Код

              category.Name = row[0].ToString();

На примере приведенной Вами таблицы это будет значение поля "Код".

Цитата

Row - это строка (горизонталь) мне нужен Column (вертикаль) 

В терминах горизонталей и вертикалей данная строка возвращает "точку", а теперь подвигайте эту точку вверх-вниз по циклу:
Цитата

  foreach (DataRow row in table.Rows)
        {
        }

И получите вертикаль smile ...

Это сообщение отредактировал(а) Gluttton - 4.6.2009, 10:10


--------------------
Слава Україні!
PM MAIL   Вверх
HelgaZaharova
Дата 4.6.2009, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 22.4.2008

Репутация: нет
Всего: нет



спс) Я правда просто добавила еще номер столбца)) 
PM MAIL   Вверх
HelgaZaharova
Дата 4.6.2009, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 22.4.2008

Репутация: нет
Всего: нет



Вот решил прикрепить проект на случай. Метод, где вот это все используется назвается CreateChart. Там из таблицы таким образом выбирались поля для построения графика.Сразу говорю, что многое в проге не работает пока. Спасибо

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  Diploma.rar 1 017,63 Kb
PM MAIL   Вверх
HelgaZaharova
Дата 6.6.2009, 02:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 22.4.2008

Репутация: нет
Всего: нет



 smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0525 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.