Добрый день. Хочу добавить новую строку в датагрид , нажимая на кнопку. Прописал, но выходит ошибка.
///////////////////Добавление новой строки
private void button3_Click(object sender, EventArgs e)
{
dataGridView1.Rows.Add();
}
Весь код
namespace WindowsFormsApplication3
{
public partial class Form1 : Form
{
public struct User
{
public double plohad;
public int cena;
public string adress;
public long tel;
public User(double _plohad, int _cena, string _adress, long _tel)
{
plohad = _plohad;
cena = _cena;
adress = _adress;
tel = _tel;
}
}
List<User> users = new List<User>();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
dataGridView1.AllowUserToAddRows = false;
users.Add(new User(13.8,6700, "Брянская область, Брянск, р-н Советский, Пятницкий тупик, 5", 78467855667));
users.Add(new User( 12.3, 5800, "Брянская область, Брянск, р - н Володарский, улица Профсоюзов, 43А", 78462256746));
users.Add(new User(11, 4900, "Брянская область, Брянск, р-н Советский, улица Горького, 2А", 78467854357));
users.Add(new User( 10.02, 3796, "Брянская область, Брянск, р-н Советский, улица Грибоедова, 19", 78468556765));
users.Add(new User(15.7, 7000, "Брянская область, Брянск, р-н Советский, проспект Ленина, 28/1", 78467855667));
users.Add(new User(14.7, 6900, "Брянская область, Брянск, р-н Советский, Трудовая улица, 5", 78467856476));
users.Add(new User(12.1, 5900, "Брянская область, Брянск, р-н Советский, улица Калинина, 98А", 78467847357));
users.Add(new User(20.5, 13000, "Брянская область, Брянск, р-н Советский, Красноармейская улица, 39", 78467875765));
users.Add(new User(22, 14700, "Брянская область, Брянск, р-н Советский, Канатный переулок, 5", 78467855457));
users.Add(new User(25, 17200, "Брянская область, Брянск, р-н Советский, проспект Ленина, 78Б", 78467856786));
users.Add(new User(70.8, 49000, "Брянская область, Брянск, р-н Советский, Красноармейская улица, 39", 78486856357));
users.Add(new User(95.5, 60000, "Брянская область, Брянск, р-н Советский, Канатный переулок, 5", 78467824765));
users.Add(new User(40.5, 20000, "Брянская область, Брянск, р-н Советский, проспект Ленина, 8", 78467857567));
users.Add(new User(37.7, 25900, "Брянская область, Брянск, р-н Советский, Канатный переулок, 5", 78787856746));
users.Add(new User(27.2, 18550, "Брянская область, Брянск, р-н Советский, Красноармейская улица, 128", 78467854257));
users.Add(new User(32.9, 28900, "Брянская область, Брянск, р-н Советский, Красноармейская улица, 91", 78467856765));
users.Add(new User(33.1, 18000, "Брянская область, Брянск, р-н Советский, Красноармейская улица, 91", 78467855667));
users.Add(new User(14.7, 8600, "Брянская область, Брянск, р-н Советский, Красноармейская улица, 136Б", 78467856746));
users.Add(new User(50.5, 20000, "Брянская область, Брянск, р-н Советский, Красноармейская улица, 136А", 78467856357));
users.Add(new User(11.2, 6700, "Брянская область, Брянск, р-н Советский, переулок Осоавиахима, 3А", 78467856765));
users.Add(new User(13.8, 7890, "Брянская область, Брянск, р-н Володарский, Одесская улица, 7", 78467855667));
users.Add(new User(12.3, 6200, "Брянская область, Брянск, р-н Советский, проспект Ленина, 10А", 78467856746));
users.Add(new User(11, 5500, "Брянская область, Брянск, р-н Фокинский, улица Чкалова, 3", 78467856399));
users.Add(new User(10.02, 5000, "Брянская область, Брянск, р-н Советский, Красноармейская улица, 130", 78465556765));
users.Add(new User(15.7, 8200, "Брянская область, Брянск, р-н Советский, Карачижская улица, 69", 78467855579));
users.Add(new User(14.7, 7880, "Брянская область, Брянск, р-н Фокинский, Московский проспект, 29", 78987858746));
users.Add(new User(12.3, 9775, "Брянская область, Брянск, р-н Советский, проспект Станке Димитрова, 62А", 76867856357));
users.Add(new User(20.5, 14700, "Брянская область, Брянск, р-н Советский, улица Грибоедова, 19", 78467856465));
users.Add(new User(22, 12200, "Брянская область, Брянск, р-н Советский, Трудовая улица, 5", 784689755624));
users.Add(new User(25, 13700, "Брянская область, Брянск, р-н Советский, улица Дуки, 71", 78467854749));
users.Add(new User(70.8, 35000, "Брянская область, Брянск, р-н Советский, Трудовая улица, 5", 78467847357));
users.Add(new User(95.5, 50600, "Брянская область, Брянск, р-н Советский, Красноармейская улица, 41", 78446856788));
users.Add(new User(40.2, 25788, "Брянская область, Брянск, р-н Володарский, улица Пушкина, 33", 78467855677));
users.Add(new User(37.7, 19540, "Брянская область, Брянск, р-н Советский, Красноармейская улица, 91", 78467856746));
users.Add(new User(27.2, 14700, "Брянская область, Брянск, р-н Советский, Красноармейская улица, 136Б", 78467856357));
users.Add(new User(32.9, 21490, "Брянская область, Брянск, р-н Советский, улица Костычева, 3", 7846782765));
users.Add(new User(33.1, 22400, "Брянская область, Брянск, р-н Володарский, улица Тельмана, 68Б", 78467867667));
users.Add(new User(14.7, 8200, "Брянская область, Брянск, р-н Володарский, улица Тельмана, 68Б", 78464656746));
users.Add(new User(50.5, 30000, "Брянская область, Брянск, р-н Советский, Красноармейская улица, 103", 78422885657));
users.Add(new User(11.2, 7400, "Брянская область, Брянск, р-н Советский, Авиационная улица, 28", 78467856575));
users.Add(new User(4, 3563, "Брянская область, Брянск, р-н Советский, Красноармейская улица, 91", 78467856746));
users.Add(new User(2, 2666, "Брянская область, Брянск, р-н Советский, проезд 1-й Станке Димитрова, 14А", 78467856357));
users.Add(new User(3.2, 3678, "Брянская область, Брянск, р-н Советский, Красноармейская улица, 136", 7846782765));
users.Add(new User(4.7, 4578, "Брянская область, Брянск, р-н Советский, Советская улица, 105А", 78467867667));
users.Add(new User(5.2, 5864, "Брянская область, Брянск, р-н Советский, Красноармейская улица, 91", 78464656746));
users.Add(new User(4.9, 4755, "Брянская область, Брянск, р-н Советский, Авиационный переулок, 4/2", 78422885657));
users.Add(new User(2.2, 3267, "Брянская область, Брянск, р-н Советский, улица Дуки, 51", 78467856575));
users.Add(new User(1.2, 1677, "Брянская область, Брянск, р-н Володарский, улица Есенина, 12", 78464656746));
users.Add(new User(1.7, 1988, "Брянская область, Брянск, р-н Советский, улица Некрасова, 2", 78422885657));
users.Add(new User(1.8, 1999, "Брянская область, Брянск, р-н Советский, улица Дуки, 37", 78467856575));
DataTable table = new DataTable();
table.Columns.Add("Площадь", typeof(double));
table.Columns.Add("Цена", typeof(int));
table.Columns.Add("Адрес", typeof(string));
table.Columns.Add("Телефон", typeof(long));
for (int i = 0; i < users.Count; i++)
{
table.Rows.Add( users[i].plohad, users[i].cena, users[i].adress, users[i].tel);
}
dataGridView1.DataSource = table;
}
private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
{
}
/////////////////////////////////////////////////////////////////////////////////////////////////////Индекс
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.ColumnIndex == 0)
{
e.Value = e.RowIndex+1;
}
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
//////////////////////////////////////////////////////////////////////////////////////////////////Количевство символов
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
((DataGridViewTextBoxColumn)dataGridView1.Columns[1]).MaxInputLength = 4;
((DataGridViewTextBoxColumn)dataGridView1.Columns[2]).MaxInputLength =5;
((DataGridViewTextBoxColumn)dataGridView1.Columns[4]).MaxInputLength = 11;
}
//////////////////////////////////////////////////////////////////////////////////////////////////Обработка ошибки с сообщением
private void dataGridView1_DataError(object sender, DataGridViewDataErrorEventArgs e)
{
MessageBox.Show("Ошибка ввода!");
e.ThrowException = false;
}
}
//////////////////////////////////////////////////////////////////////////////////////////////////Фильтрация по колонке адрес
private void textBox1_TextChanged(object sender, EventArgs e)
{
(dataGridView1.DataSource as DataTable).DefaultView.RowFilter= $"Адрес LIKE'%{textBox1.Text}%'";
}
private void button1_Click(object sender, EventArgs e)
{
(dataGridView1.DataSource as DataTable).DefaultView.RowFilter = string.Empty;
textBox1.Clear();
}
private void button2_Click(object sender, EventArgs e)
{
int a = dataGridView1.CurrentRow.Index;
dataGridView1.Rows.Remove(dataGridView1.Rows[a]);
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
switch(comboBox1.SelectedIndex)
{
case 0:
(dataGridView1.DataSource as DataTable).DefaultView.RowFilter = "Цена<= 2000";
break;
case 1:
(dataGridView1.DataSource as DataTable).DefaultView.RowFilter = "Цена >= 2000 AND Цена <=6000 ";
break;
case 2:
(dataGridView1.DataSource as DataTable).DefaultView.RowFilter = "Цена >= 6000 AND Цена <=10000 ";
break;
case 3:
(dataGridView1.DataSource as DataTable).DefaultView.RowFilter = "Цена >= 10000 AND Цена <=15000 ";
break;
case 4:
(dataGridView1.DataSource as DataTable).DefaultView.RowFilter = "Цена >= 15000 AND Цена <=25000 ";
break;
case 5:
(dataGridView1.DataSource as DataTable).DefaultView.RowFilter = "Цена >= 25000 ";
break;
}
}
///////////////////Добавление новой строки
private void button3_Click(object sender, EventArgs e)
{
dataGridView1.Rows.Add();
}
}
}