如何控制DataGrid列的显示!~~~在线等!!!!

201fgq 2005-07-05 11:32:50
由于表的字段比较多,在DataGrid绑定后,页面需向右拉动才能显示完。但实际只需要显示部份列,请问如何实现。
...全文
121 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
jimu8130 2005-07-05
  • 打赏
  • 举报
回复
同意楼上的做法,如果在vs。net开发环境下,datagrid的属性生成对话框里面就有对具体列隐藏或者显示的设置,我记得是一个单选框
goody9807 2005-07-05
  • 打赏
  • 举报
回复
设置列的属性visible=false

隐藏之
xu770 2005-07-05
  • 打赏
  • 举报
回复
不要用自动的。
在DataGrid上点右键选择属性生成器。在列选项中将在运行时自动创建列的勾选去掉。
在列列表中设置你想要的列就行了。
<asp:datagrid id="DataGrid1" runat="server" Width="100%" AllowSorting="True" AllowPaging="True"
PageSize="20" AutoGenerateColumns="False" CssClass="ourfont">
<ItemStyle BackColor="WhiteSmoke"></ItemStyle>
<HeaderStyle HorizontalAlign="Center" BackColor="#EAEAEA"></HeaderStyle>
<Columns>
<asp:BoundColumn Visible="False" DataField="user_id" HeaderText="userId"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="用户名">
<HeaderStyle Width="144px"></HeaderStyle>
<ItemTemplate>
<%#System.Web.HttpUtility.HtmlEncode(DataBinder.Eval( Container.DataItem,"user_name" ).ToString())%>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="所属机构">
<HeaderStyle Width="150px"></HeaderStyle>
<ItemTemplate>
<%#System.Web.HttpUtility.HtmlEncode(DataBinder.Eval( Container.DataItem,"node_name" ).ToString())%>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid>
blackhero 2005-07-05
  • 打赏
  • 举报
回复
你可以将列名动态从xml文件取.xml里保存列名.
由用户自已选
pxk 2005-07-05
  • 打赏
  • 举报
回复
用静态绑定。
如果列是需要在运行时候确定的,那么在cs代码中动态创建。不过不能创建模板列的。
wangyanyan 2005-07-05
  • 打赏
  • 举报
回复
<datagrid>
<columns>
<asp:boundcolumn HeaderText="现列名" datafield="原列名" visible=false(让它不显示)/>
</columns>
</datagrid>
luckyprg 2005-07-05
  • 打赏
  • 举报
回复
当然,你也可以在CS代码中动态增加。
luckyprg 2005-07-05
  • 打赏
  • 举报
回复
不要用自动的。
在DataGrid上点右键选择属性生成器。在列选项中将在运行时自动创建列的勾选去掉。
在列列表中设置你想要的列就行了。
joky1981 2005-07-05
  • 打赏
  • 举报
回复
/// <summary>
/// 按照显示设置中的配置绑定列。
/// </summary>
/// <param name="list">需要显示的字段的列表。</param>
private void BindToColumn(ArrayList list)
{
list.TrimToSize();
for(int i=0;i<list.Count;i++)
{
BoundColumn column = new BoundColumn();
column.HeaderText = ((Callray.Data.ViewSetting.FieldInfo)list[i]).Alias;
column.DataField = ((Callray.Data.ViewSetting.FieldInfo)list[i]).FieldName;
if((column.DataField.IndexOf("Time") > 0) && (column.DataField.IndexOf("stamp") < 0))
{
column.DataFormatString = "{0:d}";
column.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
}
//设置header属性
column.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
column.HeaderStyle.Wrap = false;
//设置item属性
column.ItemStyle.Wrap = false;
column.ItemStyle.HorizontalAlign = HorizontalAlign.Justify;

TM_DataGrid.Columns.AddAt(i,column);
}
}
joky1981 2005-07-05
  • 打赏
  • 举报
回复
用动态绑定的方法
201fgq 2005-07-05
  • 打赏
  • 举报
回复
DataGrid1.Columns [4].Visible =false;
这种方法不行啊。会出错。

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧