1 //从0开始,数更改列名是第几列;取出系统参数数据 2 const int m_StartColumn = 12;//appName 的起始列 3 static List<SysParameterEntity> m_lstAppName = SysParameter.GetByCondition("ParameterTypeID='AppName'"); 4 5 // 数据头事件 6 if (e.Row.RowType == DataControlRowType.Header) { 7 int size = m_lstAppName.Count; 8 for (int i = m_StartColumn; i < m_StartColumn + size; i++)//int i = 5; i < 5 + nums 9 { 10 e.Row.Cells[i].Text = m_lstAppName[i - m_StartColumn].ParameterName;//显示第0...N个参数名称 11 e.Row.Cells[i].Visible = true;//有的才显示,没有的一直隐藏 12 } 13 for (int i = m_StartColumn + size; i < m_StartColumn + 5; i++)//int i = 5; i < 5 + nums 14 { 15 e.Row.Cells[i].Visible = false;//没有一隐藏 16 } 17 } 18 19 //最后还有个注意点,上面的是头事件,还要在每个的行事件中隐藏没有的行 20 if (e.Row.RowType == DataControlRowType.DataRow) 21 { 22 //这是行删除事件 23 ImageButton ibtn = (ImageButton)e.Row.FindControl("ibtnDel"); 24 Button btnDel = (Button)e.Row.FindControl("btnDel"); 25 if (ibtn != null) 26 { 27 ibtn.OnClientClick = "ShowTopConfirm('提示信息','" + Message.ConfirmDelete + "','confirmCallback(\\'" + btnDel.ClientID + "\\')');return false;"; 28 } 29 //在这里处理 30 int size = m_lstAppName.Count; 31 for (int i = m_StartColumn + size; i < m_StartColumn + 5; i++)//int i = 5; i < 5 + nums 32 { 33 e.Row.Cells[i].Visible = false;//没有一隐藏 34 } 35 }
起始时,控件visible=false.