gpt4 book ai didi

c++ - wxGrid 在用户编辑单元格后显示旧值而不是新值

转载 作者:行者123 更新时间:2023-11-28 08:02:35 25 4
gpt4 key购买 nike

我在可编辑模式下创建了 wxGrid。我注册了以下事件处理程序。

class ReadWriteGrid : public wxGrid
{
public:
ReadWriteGrid(wxWindow *parent, wxWindowID ID,
const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize,
long style=262144, const wxString &name=wxGridNameStr)
: wxGrid(parent, ID, pos, size, style, name)
{
SetEditable();
}

};

EVT_GRID_CELL_CHANGE(IndexTableFrame::OnEditField)

现在,当用户更改单元格值时,我的函数会被调用,但在它完成之后。单元格值变回其旧值。

void IndexTableFrame::OnEditField(wxGridEvent& event)
{
int RowNumber;
int ColNumber;
wxString type;
wxGridCellEditor *m_Editor;
wxString NewValue;
RowNumber = event.GetRow();
ColNumber = event.GetCol();
m_Editor = m_grid->GetDefaultEditorForCell(RowNumber,ColNumber);
NewValue = m_Editor->GetValue();
m_Editor->Destroy();
m_grid->SetCellValue(NewValue,RowNumber,ColNumber);
event.skip();
}

这是我第一次使用WxWidget。我不确定如何避免单元格改回其旧值。

最佳答案

你太辛苦了!放轻松,让 wxGrid 承受压力。

最简单的事情就是什么都不做。 wxGrid 将接受用户在单元格中的编辑并显示更改,而无需您执行任何操作。用户完成后,他可以单击“保存”按钮,您可以在其中实现代码以从单元格中读取值并将它们用于您需要的任何地方。

关于c++ - wxGrid 在用户编辑单元格后显示旧值而不是新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11042553/

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