如何隐藏 DataGrid 自动生成的列中的 某一列比如我有个 DataGrid ,数据绑定方式是自动生成列,我想要隐藏其中一列,但这列的数据又是我需要的,所以不能采用不绑定的方式还有我试过用 this.dg_InStore.Columns[0].Visible = false;
的方式隐藏,系统提示报错, 用自动生成的方式绑定的grid 的 Columns.count是0
的方式隐藏,系统提示报错, 用自动生成的方式绑定的grid 的 Columns.count是0
解决方案 »
- 询问MemCache多服务器配置问题
- 求一个正则
- IIS伪目录静态,使用的是UrlRewriting.dll
- 在MVC的View页中如何转换数据类型?
- 如何查找loginview里LoggedInTemplate模版中的控件?
- 项目上传到虚拟主机后Response.Redirect("company.aspx")出现问题?
- 求好的数据统计插件推荐~~~~
- 请问html控件中的<span>是什么标示,htmllabel的标识是<div>,为什么要用<span>
- ASP 导数据到EXCEL
- 无法将位于索引 22 处的 Unicode 字符 \uDDFE 转换为指定的代码页。
- 请使用过ajax.dll的进来,ajax.dll默认是异步方式,如何改为同步方式呢?
- ActiveX 参数问题
我的e-mail:[email protected],欢迎与我交流。
{
ListItemType _litType;
object _objData;
public MyDataGridTemplate(ListItemType litType, object objData)
{
_litType = litType;
_objData = objData;
} public void InstantiateIn(System.Web.UI.Control container)
{
Literal ltr = new Literal();
ltr.DataBinding += new EventHandler(this.OnDataBinding); TextBox txt = new TextBox();
switch(_litType)
{
case ListItemType.Header:
ltr.Text = "<b>" + _objData.ToString() + "</b>";
container.Controls.Add(ltr);
break;
case ListItemType.Item:
ltr.Text = _objData.ToString();
container.Controls.Add(ltr);
break;
case ListItemType.EditItem:
container.Controls.Add(txt);
break;
case ListItemType.Footer:
ltr.Text = "<i>" + _objData.ToString() + "</i>";
container.Controls.Add(ltr);
break;
}
}
public void OnDataBinding(object sender, EventArgs e)
{
Literal l = (Literal) sender;//LiteralControl发送绑定请求
DataGridItem container = (DataGridItem) l.NamingContainer;
l.Text = ((DataRowView)container.DataItem)[l.Text].ToString();//绑定stuname字段
}
} #endregion
//------------------------------------------------+ for (int x = 0 ; x <= MasterDt.Columns.Count-1 ; x++)
{
TemplateColumn tc; tc = new TemplateColumn();
tc.HeaderText = MasterDt.Columns[x].Caption;
if (MasterDt.Columns[x].Caption == "UpDateUserID" || MasterDt.Columns[x].Caption == "UpDateRecordID")
{
//如果是编号列,则需要隐藏
tc.Visible=false;
}
tc.ItemTemplate = new MyDataGridTemplate(ListItemType.Item, MasterDt.Columns[x].Caption);//"<%# DataBinder.Eval(Container,\"DataItem." + MasterDt.Columns[x].Caption + "\")%>");
dg_data.Columns.Add(tc);
} //------------------------------------------------+
在Datagrid绑定事件中,加上类似于这样的话(我这个是GridView1_RowDataBound,Datagrid也差不多。)
e.Row.Cells(i).Style("display") = "none"