Dev GridView动态生成列
如果动态生成列后进行查询,查询的内容显示的列比显示的多或者少,这是有可能显示的还是第一次加载出来的列。
此时就需要我们把列清空一下,重新绑定生成。清空所有的列。gridview1.Columns.Clear();
/// <summary>
/// 动态生成列
/// </summary>
/// <param name="dt">数据源</param>
/// <param name="gv">当前GirdView</param>
/// <param name="control">当前GridControl</param>
public static void BindData(DataTable dt, GridView gv, GridControl control)
{
Dictionary<int, string> dList = new Dictionary<int, string>();
//重命名列、存列名
for (int i = 0; i < dt.Columns.Count; i++)
{
dList.Add(i, dt.Columns[i].ColumnName);
dt.Columns[i].ColumnName = dt.Columns[i].ColumnName.Split(':')[0];//符号可自定义为列名不会出现字符
}
control.DataSource = dt;
gv.OptionsView.ColumnAutoWidth = true;
for (int i = 0; i < gv.Columns.Count; i++)
{
gv.Columns[i].OptionsColumn.AllowEdit = false;
}
}

浙公网安备 33010602011771号