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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> динамический DataGridView - помогите разобраться! 
V
    Опции темы
kostyan1
Дата 28.11.2008, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Господа, начал осваивать месный грид - помогите разобраться!
Задача такая: таблица с шапкой + одна строка. Таблица сугубо месная - массив, с базами никак не связанна.
Размеры грида-колонок-ячеек фиксированные не меняются.
В процессе работы первая ячейка строки тож неизменна - меняться будет текст и цвет остальных ячеек строки в зависимости от всякого.
Посидев полистав форум слабал незатейливый пример:

Код

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        private DataGridView m_dgwTSGrid;
        private static int[] m_tsArray = new int[24];

        public Form1()
        {
            InitializeComponent();
        }
        private DataTable createTSDataTable()
        {
            DataTable table = new DataTable("Состояние каналов");
            DataColumn firstColumn = new DataColumn("Канал", typeof(string));
            table.Columns.Add(firstColumn);

            for (int i = 1; i <= 24; i++)
            {
                DataColumn column = new DataColumn(i.ToString(), typeof(int));
                table.Columns.Add(column);
            }
            return table;
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            m_dgwTSGrid = new DataGridView();
            m_dgwTSGrid.DataSource = createTSDataTable(); ;

            Controls.Add(m_dgwTSGrid);

            foreach (DataGridViewColumn column in m_dgwTSGrid.Columns)
            {
                if (column == m_dgwTSGrid.Columns[0])
                {
                    column.Width = 50;
                }
                else
                {
                    column.Width = 30;
                }
            }

            m_dgwTSGrid.Rows[0].Cells[0].Value = "jopa";
            m_dgwTSGrid.Rows[0].Cells[0].Style.BackColor = Color.Gold;
            DataGridViewCellStyle style = new DataGridViewCellStyle(); // Стиль
            style.BackColor = Color.Silver; // Задний фон
            style.ForeColor = Color.Blue; // передний фон(цвет текста)
            style.SelectionBackColor = Color.Silver; //  задний фон при выделении
            style.SelectionForeColor = Color.White; // передний фон при выделении

            m_dgwTSGrid.Rows[0].DefaultCellStyle = style;

            for (int i = 0; i < 24; i++)
            {
                int iValue = m_tsArray[0];
                DataGridViewCell cell = m_dgwTSGrid.Rows[0].Cells[i + 1];
                cell.Value = iValue;
                if (iValue == 0)
                {
                    cell.Style.BackColor = Color.Lime;
                }
                else
                {
                    cell.Style.BackColor = Color.Red;
                }

            }

            m_dgwTSGrid.RowHeadersVisible = false;
            m_dgwTSGrid.AllowUserToDeleteRows = false;
            m_dgwTSGrid.AllowUserToResizeColumns = false;
            m_dgwTSGrid.AllowUserToResizeRows = false;
            m_dgwTSGrid.ReadOnly = true;
            m_dgwTSGrid.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing;

            int width = 24 * 30 + 50 + 3;
            m_dgwTSGrid.Size = new Size(width, 100);
        }
    }
}


Тут вопросы такие:

1) Если я не в Form1_Load помещаю инициализацию грида а в конструктор, то после строчки
 Controls.Add(m_dgwTSGrid);
не наблюдаю рядов у грида (строки).

2) Ладно инициализирую как есть.
В итоге строка форматируется только цветом - старательно заданные мною циферьки не выводятся.
А если в полученом гриде нажимаю на шапку таблицы - исчезают и все цвета.
Что это за безобразие такое, как поправить?
PM MAIL   Вверх
QryStaL
Дата 28.11.2008, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


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

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



Цитата(kostyan1 @  28.11.2008,  13:08 Найти цитируемый пост)
Посидев полистав форум слабал незатейливый пример

Лучше МСДН полистайте )))


--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
kostyan1
Дата 28.11.2008, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


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

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




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


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

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