您好,感谢您阅读此帖,我的问题是如何判断DataGridView里面的数据已经被修改我已经在百度找了好多资料,始终没有解决.
下面是我的代码,大家帮我看看问题在哪里
绑定DataGridView的代码 dgvSysPara.DataSource = DataBindPro.GetSysPara(outputBytes);
dgvSysPara.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
dgvSysPara.Rows[0].Frozen = true;
我用一个Button事件判断是否被修改
private void button1_Click(object sender, EventArgs e)
{
DataTable dt = (DataTable)dgvSysPara.DataSource;
DataTable drc = dt.GetChanges(DataRowState.Modified);
if (drc != null)
{
MessageBox.Show("数据已修改");
}
}但是drc的值在我修改了内容后还是为空.
即使改成下面这样:private void button1_Click(object sender, EventArgs e)
{
DataTable dt = (DataTable)dgvSysPara.DataSource;
DataRowCollection drc = dt.GetChanges(DataRowState.Modified).Rows;
foreach (DataRow dr in drcc)
{
if (dr.RowState == DataRowState.Modified)
{
MessageBox.Show("数据已修改");
}
}
}dr.RowState的值也始终是Added.
请问我应该怎么做才能判断DataGridView是否已经被修改了呢,,还有其它的方法吗?希望知道的朋友帮帮我,不胜感激,顺祝大家工作顺利!圣诞快乐!
下面是我的代码,大家帮我看看问题在哪里
绑定DataGridView的代码 dgvSysPara.DataSource = DataBindPro.GetSysPara(outputBytes);
dgvSysPara.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
dgvSysPara.Rows[0].Frozen = true;
我用一个Button事件判断是否被修改
private void button1_Click(object sender, EventArgs e)
{
DataTable dt = (DataTable)dgvSysPara.DataSource;
DataTable drc = dt.GetChanges(DataRowState.Modified);
if (drc != null)
{
MessageBox.Show("数据已修改");
}
}但是drc的值在我修改了内容后还是为空.
即使改成下面这样:private void button1_Click(object sender, EventArgs e)
{
DataTable dt = (DataTable)dgvSysPara.DataSource;
DataRowCollection drc = dt.GetChanges(DataRowState.Modified).Rows;
foreach (DataRow dr in drcc)
{
if (dr.RowState == DataRowState.Modified)
{
MessageBox.Show("数据已修改");
}
}
}dr.RowState的值也始终是Added.
请问我应该怎么做才能判断DataGridView是否已经被修改了呢,,还有其它的方法吗?希望知道的朋友帮帮我,不胜感激,顺祝大家工作顺利!圣诞快乐!
本来是foreach (DataRow dr in drc)的,呵呵代码调试的时候是没有问题的..请问 Dobzhansky,具体应该怎么做呢?
private void dgv_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
//Do Something
}
那就在你绑定完后再注册这个事件
this.dgv.CellValueChanged += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgv_CellValueChanged);
{
if(grd.IsCurrentCellDirty)
grd.CommitEdit(DataGridViewDataErrorContexts.Commit);
}
datagridview_enter事件
wuyq11,你好,请问这两个应该怎么用呢
{
if(grd.IsCurrentCellDirty)
grd.CommitEdit(DataGridViewDataErrorContexts.Commit);
}