【问题标题】:Change value on CellValueChanged Event更改 CellValueChanged 事件的值
【发布时间】:2019-01-26 09:20:59
【问题描述】:

如果任何其他单元格被编辑,我正在尝试更改单元格的值,因为我想在我的数据库和网格中有一个 EditedAt 单元格。我对此事件进行了尝试,但它只保存值而不更改日期:

private void gridView1_CellValueChanged(object sender, CellValueChangedEventArgs e)
    {
        ColumnView tmpView = gridControl1.FocusedView as ColumnView;

        if (!tmpCellValueChanged && tmpView.UpdateCurrentRow())
        {
            tmpCellValueChanged = true;
            gridView1.SetRowCellValue(gridView1.FocusedRowHandle, "Model_EditedAt", DateTime.Now);
            tbModellTableAdapter1.Update(fahrzeugverwaltung_ColinDataSet1);
            tmpCellValueChanged = false;
        }
    }

提前感谢您的帮助

【问题讨论】:

    标签: c# winforms datagrid devexpress


    【解决方案1】:

    查看this post

    在 CellValueChanging 事件中,调用表视图的 CommitEditing 方法。因此,将在不改变焦点的情况下接受更改,并且会触发 CellValueChaned 事件。

        private void TableView_CellValueChanging(object sender, CellValueChangedEventArgs e) 
        {    
             ((TableView)sender).CommitEditing();
        }
    

    【讨论】:

      【解决方案2】:

      应该调用GridView.UpdateCurrentRow 方法将焦点修改的行发布回基础数据源。我建议查看 Post Data to an Underlying Data Source 帮助文章,其中描述了如何处理数据库更新。

      【讨论】:

        猜你喜欢
        • 2012-11-29
        • 1970-01-01
        • 1970-01-01
        • 2017-01-27
        • 1970-01-01
        • 1970-01-01
        • 2021-03-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多