私は更新ボタンを押した後、WinGridViewの更新に問題があります。 INotifyPropertyChangedプロパティを使用してBindingListを使用しています。そして、まだ私のgridviewを更新させることができません。以下はWingridviewをBindingListで更新する
は私の短いテストプログラムからのコードです:
public Form1()
{
InitializeComponent();
//create BindingList
using(SqlConnection connection = new SqlConnection(SQLconnectionString))
{
connection.Open();
using(SqlCommand command = new SqlCommand(SelectCustomer, connection))
{
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
customerList.Add(new Customers(reader["CntId"].ToString(), reader["Name"].ToString(), reader["Surname"].ToString()));
}
}
}
}
customersBindingSource = new BindingSource(customerList, null);
ugv_contacts.DataSource = customersBindingSource;
}
//update button
private void btn_UpdateCustomer_Click(object sender, EventArgs e)
{
using (SqlConnection conDataBase = new SqlConnection(SQLconnectionString))
{
try
{
conDataBase.Open();
SqlCommand updateCommand = conDataBase.CreateCommand();
updateCommand.CommandText = UpdateCustomerDet;
updateCommand.Parameters.AddWithValue("@CntId", Customer_Id);
updateCommand.Parameters.AddWithValue("@CntSurname", txt_surname.Text);
updateCommand.Parameters.AddWithValue("@CntName", txt_name.Text);
SqlDataReader myReader;
myReader = updateCommand.ExecuteReader();
customersBindingSource.ResetBindings(false);
}
catch (Exception ex) //v primeru napake se izvede to
{
MessageBox.Show(ex.Message);
}
}
}
public class Customers : INotifyPropertyChanged
{
public Customers(string id, string surname, string name)
{
CntId = id;
Name = name;
Surname = surname;
}
private string id;
private string surname;
private string name;
public string CntId { get { return id; } set { id = value; NotifyPropertyChanged("CntId"); } }
public string Surname { get { return surname; } set { surname = value; NotifyPropertyChanged("Surname"); } }
public string Name { get { return name; } set { name = value; NotifyPropertyChanged("Name"); } }
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(string p)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(p));
}
}
は、誰かがそれthrought行ってくださいと私はそれが間違って何をやっている私に言ってもらえますか?私は検索し、多くのstackoverflowの質問をテストし、まだ正常に動作するように私のコードを作ることができませんでした。
お客様は、お客様のプロパティを変更したコードを掲載していません。 – LarsTech
私は何も持っていないからです。 :)これは私にとって初めてのことなので、私はこのコンセプトを理解するのに困っています。私はさらに進んでいかなければなりませんか?ありがとうございます – Urban
ボタンの更新で変更します。それはあなたが念頭に置いていることですか? – Urban