Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Windows Forms
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2014, 14:03   #1
delire
 
Регистрация: 09.01.2013
Сообщений: 3
По умолчанию [C#] считывание данных из ячейки DataGridView

Здравствуйте.

Есть таблица DataGridView1 с двумя столбцами: DataGridViewCheckBoxColumn (CheckColumn) и текстовым. Нужно из строки с помеченной CheckColumn считать в переменную значение из текстовой ячейки, а потом получить доступ к ней в button1_Click. Выводит, что элемент не существует в текущем контексте. С шарпом дел ранее не имел.)
Код:
public partial class Form1 : Form
    {
      Label a;
public Form1()
    {
        InitializeComponent();
        a = new Label();

    }

public void DataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            for (int i = 0; i < DataGridView1.RowCount; i++)
            {
                if (DataGridView1.Rows[i].Cells[0].Value == CheckColumn.TrueValue)
                {
                    
                    a.Text = DataGridView1.CurrentRow.Cells[1].Value.ToString();

                }
            }
        }

private void button1_Click(object sender, EventArgs e)
        {
string b = a.Text
}

}

Последний раз редактировалось delire; 13.03.2014 в 14:48. Причина: опечатка
delire вне форума Ответить с цитированием
Старый 13.03.2014, 20:38   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
Лампочка

Когда в C# создаётся дополнительный компонент, его нужно, как минимум, добавить в список контролов формы
Код:
this.Controls.Add(a);
А, ещё лучше если между созданием и добавлением в список контролов будут описаны, хотя бы некоторые, наиболее важные свойства.
Пример в помощь: Динамическое создание кнопок / C# Windows Forms
В примере тема раскрывается для кнопки, но суть, в данном случае, одна.
Streletz вне форума Ответить с цитированием
Старый 14.03.2014, 02:25   #3
delire
 
Регистрация: 09.01.2013
Сообщений: 3
По умолчанию

Благодарю.)
delire вне форума Ответить с цитированием
Старый 14.03.2014, 10:39   #4
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,876
По умолчанию

Во-первых, в каком именно месте компилятор(валидатор) показывает ошибку ? Ошибка (исключение) показывается при работе программы ? Тогда тоже надо указать на какую именно строку указывает отладчик.
Во-вторых, создание метки Label в данной задаче излишне, достаточно создать строку, т.е.
Код:
//Label a;
string a;
...
//a = new Label();
...
//a.Text = ...
a = ...
...
//string b = a.Text; //сразу использовать a , не b
В-третьих, цикл у Вас пробегает по всему гриду, если условие(if) выполнится дважды и более раз, то в строку а поместится только самый последний, чтобы этого не было нужно добавить break; если же Вам требуется более сложная логика - потрудитесь описать её.
В-четвёртых, почему DataGridView1.CurrentRow? она указывает на ту строку, на которой курсор, и не обязательно на ту, в которой стоит отметка, или опять же некая логика за всем этим стоит ?
phomm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение данных в БД MySQL по редактированию ячейки в DataGridView d0x C# (си шарп) 1 06.02.2014 11:52
Исключение из общей суммы ячейки на основании данных ячейки из другой строки Natalia07 Помощь студентам 2 06.03.2013 17:16
Считывание значения выделенной ячейки из DBGrid Pilyla БД в Delphi 1 18.12.2012 04:39
обновление данных в dataGridView Atlant1Q WPF, UWP, WinRT, XAML 3 18.05.2012 10:44
Stringgrid считывание информации из ячейки KSUwa Помощь студентам 2 12.11.2010 09:12