gpt4 book ai didi

winforms - 当 gridview is allowedit = false 时,如何在 GridView 中启用对新插入行的编辑?

转载 作者:行者123 更新时间:2023-12-02 22:11:51 24 4
gpt4 key购买 nike

我在表单中有一个 xtraGrid 套件的 GridView 控件。当我第一次打开表单时,它是AllowEdit = false。我希望当我按下添加新行链接(由控件内置)以使这唯一新插入的行可编辑。我读到我应该使用 ShowingEditor 事件,但我不知道如何使用。到目前为止我已经写了这个,但这不能编辑该行:

private void gridViewNote_ShowingEditor(object sender, System.ComponentModel.CancelEventArgs e)
{
//this is first tryout
//if (gridViewNote.IsNewItemRow(gridViewNote.FocusedRowHandle))// == gridViewNote.GetFocusedDataRow())
//{
// gridColumnStagione.OptionsColumn.AllowEdit = true;
//}
//second tryout
GridView view = sender as GridView;
SchedeMaterialiDaTaglioDS.SMTAGL_NOTERow currentRow = gridViewNote.GetFocusedDataRow() as SchedeMaterialiDaTaglioDS.SMTAGL_NOTERow;

SchedeMaterialiDaTaglioDS.SMTAGL_NOTEDataTable changesTable = dsSchMatTaglio.SMTAGL_NOTE.GetChanges() as SchedeMaterialiDaTaglioDS.SMTAGL_NOTEDataTable;
e.Cancel = !view.IsNewItemRow(view.FocusedRowHandle) &&
!changesTable.Contains(currentRow);// set.Inserts.Contains(order);

}

最佳答案

我希望我理解你的问题。执行此操作的一些简单方法:

  1. 向每列添加一个存储库项目并处理 ShowingEditor 事件,如果该事件应该是只读的,则使用 e.Cancel

  2. 弹出一个窗口/文本框,让用户插入值并添加已通过代码插入的值的行。

  3. 使用gridView.CustomRowCellEdit事件将两个不同的存储库项目分配给同一列。像这样:

    RepositoryItemTextEdit rep = new RepositoryItemTextEdit();
    RepositoryItemTextEdit noRep = new RepositoryItemTextEdit();
    noRep.ReadOnly = true;

    private void button1_Click(object sender, EventArgs e)
    {
    gridView1.AddNewRow();
    justAddedName = true;
    gridView1.RefreshData();
    }

    private void gridView1_CustomRowCellEdit(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e)
    {
    if (e.Column == colname)
    {
    if (e.RowHandle == gridView1.RowCount - 1 && justAddedName)
    {
    e.RepositoryItem = rep;
    }
    else
    {
    e.RepositoryItem = noRep;
    }
    }
    }

它并不完整,只是一个探索的方向。

希望我能有所帮助。

关于winforms - 当 gridview is allowedit = false 时,如何在 GridView 中启用对新插入行的编辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15542631/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com