asp.net 关于DataSet隐藏列的问题。

sanfengjiayou 2012-04-02 01:34:47
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataSet ds = GetData();
if (ds.Tables.Count > 0)
{
//给DataSet中字段取别名
ds.Tables[0].Columns["sno"].ColumnName = "学号";
ds.Tables[0].Columns["sname"].ColumnName = "姓名";
ds.Tables[0].Columns["ssex"].ColumnName = "性别";
ds.Tables[0].Columns["sage"].ColumnName = "年龄";
ds.Tables[0].Columns["sdept"].ColumnName = "专业";
//第一种方法隐藏列
//ds.Tables[0].Columns[0].ColumnMapping = MappingType.Hidden;
GridView1.DataSource = ds;
GridView1.DataBind();
//第二种方法隐藏列
//GridView1.Columns[0].Visible = false;
}
else
{
string scriptString = "alert('没有可显示的数据!');";
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "success", scriptString, true);
}
}
}
public DataSet GetData()
{
string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
SqlConnection conn = new SqlConnection(connectionString);
conn.Open();
SqlDataAdapter adapter = new SqlDataAdapter("select * from student", conn);
DataSet dataset = new DataSet();
adapter.Fill(dataset);
conn.Close();
return dataset;
}

第一种方法是在DataSet中隐藏列,然后绑定到GridView上,但是没有效果。第二种方法是先将DataSet绑定到GridView上,然后设置GridView某列是否显示为false,出错——索引超出范围。求解!!!!!
...全文
186 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
happytonice 2012-04-02
  • 打赏
  • 举报
回复
用模板列

<style type="text/css">
.hdn{display:none}
</style>

<asp:TemplateField HeaderText="学号" HeaderStyle-CssClass="hdn" ItemStyle-CssClass="hdn" >
<ItemTemplate >
<%#Eval("sno") %>
</ItemTemplate>
</asp:TemplateField>
yp19910928 2012-04-02
  • 打赏
  • 举报
回复
在GridView里设置隐藏列,在执行DataBind()方法绑定后,GridView1.Columns[0].Visible=false;
dalmeeme 2012-04-02
  • 打赏
  • 举报
回复
在GridView里设置隐藏列,在执行DataBind()方法绑定后,GridView1.Columns[0].Visible=false;
孟子E章 2012-04-02
  • 打赏
  • 举报
回复
GridView设置隐藏列是可以的,在绑定事件里面进行设置
e.Row.Cells[0].Visible = false;

62,268

社区成员

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

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

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

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