1.后台load时间中代码:
public Form2()
{
InitializeComponent();
this.Load += new EventHandler(Form2_Load);
this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.ReadOnly = true;
this.dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
}
DataTable dt = new DataTable();
dt.Columns.Add("Name");
dt.Columns.Add("Age");
DataRow drTemp;
drTemp = dt.NewRow();
drTemp[0] = "Jordan";
drTemp[1] = 10;
dt.Rows.Add(drTemp);
drTemp = dt.NewRow();
drTemp[0] = "KOBE";
drTemp[1] = 20;
dt.Rows.Add(drTemp);
dt.AcceptChanges();
mBindingSource = new BindingSource();
mBindingSource.DataSource = dt;
this.dataGridView1.DataSource = mBindingSource;
this.textBox1.DataBindings.Add("Text", mBindingSource, "Name",false, DataSourceUpdateMode.OnPropertyChanged);
this.textBox2.DataBindings.Add("Text", mBindingSource, "Age", false, DataSourceUpdateMode.OnPropertyChanged);
保存按钮双击事件中:
if (((DataTable)mBindingSource.DataSource).GetChanges() == null)
{
MessageBox.Show("没有修改到数据!");
}
else
{
DataRow dr = ((DataRowView)mBindingSource.Current).Row;
((DataTable)mBindingSource.DataSource).AcceptChanges();
}
为什么前台在textbox中输入其它值后直接按保存按钮。。会提示没有修改数据呢!!!!????
if (((DataTable)mBindingSource.DataSource).GetChanges() == null)
判断有问题。
嗯,比保存以后是不是在数据源中有那行数据呢,我没有看见你的增加,根据情况,你可以看看那个数据源是不是已经有了你的添加行。
自己已搞定