DataGridView Refresh
4 отговора
0 прегледа
DataGridView Refresh
Правя си едно прогрмче на C# - Windows Forms и използвам DataGridView.
Целта на грида е само да показва какво има в таблицата и редактиране, добавяне и изтриване на записи е забранено. Има ли начин, след като се попълнят полетата за новия запис и се цъкне примерно на бутон "Добави", грида да се рефрешне с новия запис от таблицата. Явно DataGridView.Refresh и .Update имат друга цел.
Или може би ще трябва да си добавям новите редове в грида със собствен код
Целта на грида е само да показва какво има в таблицата и редактиране, добавяне и изтриване на записи е забранено. Има ли начин, след като се попълнят полетата за новия запис и се цъкне примерно на бутон "Добави", грида да се рефрешне с новия запис от таблицата. Явно DataGridView.Refresh и .Update имат друга цел.
Или може би ще трябва да си добавям новите редове в грида със собствен код
Re: DataGridView Refresh
Refresh и Update са наследени от Control класа и те само ще прерисуват грида.
Ето ти примерче как да станат нещата:
Heavy rings hold cigarettes
Up to lips that time forgets
Ето ти примерче как да станат нещата:
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
Re: DataGridView Refresh
Благодаря ти много!
Но точно това, което си направил искам да избегна. Грида го пълня със данни от една таблица от БД. Въпросът ми беше в смисъл, след като натисна бутона и се изпълни заявката за добавяне на записа в таблицата на БД, дали има метод, който да обнови съдържанието на грида, с новото съдържание от таблицата, а не просто да прерисува контролата на екрана.
Иска ми се промяната на едното място да води до промяна и на другото, а не да пипам едновременно и двете.
Би ми вършило работа и обратното - добавям нов ред в грида и с извикването на някакъв метод да го запише в базата, но по съм навит на първия вариант. Във втория ми се струва, че някак се губи контрола върху базата.
Но точно това, което си направил искам да избегна. Грида го пълня със данни от една таблица от БД. Въпросът ми беше в смисъл, след като натисна бутона и се изпълни заявката за добавяне на записа в таблицата на БД, дали има метод, който да обнови съдържанието на грида, с новото съдържание от таблицата, а не просто да прерисува контролата на екрана.
Иска ми се промяната на едното място да води до промяна и на другото, а не да пипам едновременно и двете.
Би ми вършило работа и обратното - добавям нов ред в грида и с извикването на някакъв метод да го запише в базата, но по съм навит на първия вариант. Във втория ми се струва, че някак се губи контрола върху базата.
Re: DataGridView Refresh
Питай в stackoverflow.com такива неща. Ще получиш супер отговор отма. Тука нема смисъл, не е идеята на този форум такива въпроси.
--
One day it will make sense.
--
One day it will make sense.
Re: DataGridView Refresh
Виж това
[линк]
ЕсКюЕла Сървъра те уведомява за писания по базата.
Heavy rings hold cigarettes
Up to lips that time forgets
[линк]
ЕсКюЕла Сървъра те уведомява за писания по базата.
Heavy rings hold cigarettes
Up to lips that time forgets