我想在编码开始时将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;
每次搜索时,我都尝试通过从DB接收一个作为DataTable的值来绑定到Grid DataSource。
uGrid.DataSource = dt;
此代码导致错误。
密钥已存在参数名称:密钥
我不知道是什么原因导致此错误。我在做什么错了?
答案 0 :(得分:1)
在InitializeLayout事件中,在添加之前检查该列是否存在。这样可以防止重复。
//这样的东西
if(!e.Layout.Bands[0].Columns.Exists("key"))
e.Layout.Bands[0].Columns.Add(key,caption);