У меня есть форма Windows в VS2013 C#. У меня есть это в классе Form1:Почему мой набор данных недоступен в событии нажатия кнопки C#
public partial class Form1 : Form
{
public Form1()
{
// ...
DataTable dt1 = new DataTable("Legend");
DataSet dSet = new DataSet("Graph");
DataRow dRow;
dSet.Tables.Add("Legend");
dt1.Columns.Add("Name");
dt1.Columns.Add("Unit");
dt1.Columns.Add("Val");
dataGridView1.DataSource = dt1;
}
Эта часть работает отлично, таблица на форме заполняется с заголовками столбцов. Тогда я хочу, чтобы добавить строки в таблицу в случае нажатия кнопки:
private void btnAddSeries_Click(object sender, EventArgs e)
{
DataRow newEntry = dt1.NewRow();
newEntry["Name"] = "Pressure";
newEntry["Unit"] = "bar";
newEntry["Val"] = 12;
dt1.Rows.Add(newEntry);
}
Что я не хватаю, я получаю ошибку «Имя„dt1“не существует в текущем контексте»
Цените любую помощь
Поскольку вы создали 'dt1' внутри своего конструктора форм, он будет доступен только там. Вы должны определить его на уровне класса, чтобы получить доступ к нему несколькими способами. – Habib
Этот класс должен быть статичным? Я хочу всегда использовать одну и ту же таблицу для других событий. –
'Franl Meier' посмотреть это в свободное время [Модификаторы доступа C#] (http://msdn.microsoft.com/en-us/library/wxh6fsc7.aspx) – MethodMan