如何修复 UltraGrid 中的 'Key already exists Parameter name: Key' 错误?

How to fix 'Key already exists Parameter name: Key' error in UltraGrid?

我想在编码开始时将 Grid Column 设置为编码的 Grid InitializeLayout 事件。

UltraGridColumn ugc = null;

ugc = e.Layout.Bands[0].Columns.Add(key,caption);

ugc = e.Layout.Bands[0].Columns.Add(key2, caption2);
ugc.CellAppearance.TextHAlign = HAlign.Left;
ugc.Width = 190;
ugc.LockedWidth = true;

每次您搜索时,我都尝试通过从数据库接收一个值作为 DataTable 来绑定到 Grid DataSource。

uGrid.DataSource = dt;

此代码导致错误。

Key already exists Parameter name: Key

我不知道是什么导致了这个错误。我做错了什么?

在 InitializeLayout 事件中检查列是否存在,然后再添加。这样就可以防止重复。 //像这样 if(!e.Layout.Bands[0].Columns.Exists("key")) e.Layout.Bands[0].Columns.Add(key,caption);