我必须在特定位置添加自定义列运行时以退出Telerik网格。
string[] customColumns = ds.Tables[2].Rows[0]["CustomColumns"].ToString().Split(',');
int startIndex = 7;
for (int i = 0; i < customColumns.Length; i++)
{
GridBoundColumn NewColumn = new GridBoundColumn();
tableGrid.MasterTableView.Columns.AddAt(startIndex, NewColumn);
NewColumn.HeaderText = customColumns[i].Replace("[", "").Replace("]", "");
NewColumn.DataField = customColumns[i].Replace("[", "").Replace("]", "");
NewColumn.Visible = true;
NewColumn.FilterControlWidth = Unit.Percentage(70);
NewColumn.HeaderStyle.CssClass = "setHeader";
NewColumn.HeaderStyle.Width = 130;
NewColumn.AllowFiltering = true;
NewColumn.OrderIndex = startIndex;
startIndex++;
}
使用此代码块列已成功添加到给定位置,但是当我使用现有的网格过滤器功能时,列的位置将发生更改,甚至我也看不到列中的值。
答案 0 :(得分:0)
您将需要为这些列定义一个OrderIndex,并且在向网格中添加新的OrderIndex时,您将知道要使用哪个OrderIndex。请查看Reordering columns programmatically文章以供参考。