DataGridView Refresh

4 отговора 0 прегледа
#1

DataGridView Refresh

Правя си едно прогрмче на C# - Windows Forms и използвам DataGridView.
Целта на грида е само да показва какво има в таблицата и редактиране, добавяне и изтриване на записи е забранено. Има ли начин, след като се попълнят полетата за новия запис и се цъкне примерно на бутон "Добави", грида да се рефрешне с новия запис от таблицата. Явно DataGridView.Refresh и .Update имат друга цел.
Или може би ще трябва да си добавям новите редове в грида със собствен код

Отговор
в отговор на БM21 #2

Re: DataGridView Refresh

Refresh и Update са наследени от Control класа и те само ще прерисуват грида.

Ето ти примерче как да станат нещата:


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 List<Person> _source;

public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
_source = GetData();
BindData();
}

private void BindData()
{
dataGridView1.DataSource = null;
dataGridView1.DataSource = _source;
}

private List<Person> GetData()
{
// Get's the data
var persons = new List<Person>()
{
new Person { Name = "George" },
new Person { Name = "Peter" },
new Person { Name = "Rosen" }
};
return persons;
}

private void buttonAdd_Click(object sender, EventArgs e)
{
// Process added data
Person addedData = new Person { Name = "Vladimir" };
AddData(addedData);
BindData();
}

private void AddData(Person personToAdd)
{
this._source.Add(personToAdd);
}
}

public class Person
{
public string Name { get; set; }
public Person() { }
}
}


Heavy rings hold cigarettes
Up to lips that time forgets
Отговор
в отговор на ThunderFuck #3

Re: DataGridView Refresh

Благодаря ти много!
Но точно това, което си направил искам да избегна. Грида го пълня със данни от една таблица от БД. Въпросът ми беше в смисъл, след като натисна бутона и се изпълни заявката за добавяне на записа в таблицата на БД, дали има метод, който да обнови съдържанието на грида, с новото съдържание от таблицата, а не просто да прерисува контролата на екрана.
Иска ми се промяната на едното място да води до промяна и на другото, а не да пипам едновременно и двете.
Би ми вършило работа и обратното - добавям нов ред в грида и с извикването на някакъв метод да го запише в базата, но по съм навит на първия вариант. Във втория ми се струва, че някак се губи контрола върху базата.

Отговор
в отговор на БM21 #4

Re: DataGridView Refresh

Питай в stackoverflow.com такива неща. Ще получиш супер отговор отма. Тука нема смисъл, не е идеята на този форум такива въпроси.

--
One day it will make sense.
Отговор
в отговор на БM21 #5

Re: DataGridView Refresh

Виж това

[линк]

ЕсКюЕла Сървъра те уведомява за писания по базата.

Heavy rings hold cigarettes
Up to lips that time forgets
Отговор