我想在我的GridView中隐藏ID列,我知道代码

GridView1.Columns[0].Visible = false;

但令人惊讶的是,我的GridView列的Count属性是0!虽然我可以看到GridView里的数据,但是你有什么 idea 吗?

非常感谢.

更新:

下面是填充GridView的方法的完整代码

public DataSet GetAllPatients()
{
    SqlConnection connection = new SqlConnection(this.ConnectionString);

    String sql = "SELECT [ID],[Name],[Age],[Phone],[MedicalHistory],[Medication],[Diagnoses] FROM [dbo].[AwadyClinc_PatientTbl]order by ID desc";

    SqlCommand command = new SqlCommand(sql, connection);

    SqlDataAdapter da = new SqlDataAdapter(command);

    DataSet ds = new DataSet();

    da.Fill(ds);

    return ds;

}

推荐答案

当GridView的AutoGenerateColumns属性设置为true(默认值为true)时,GridView.Columns.Count将始终为0.

可以显式声明列并将AutoGenerateColumns属性设置为false,也可以在codebehind中使用:

GridView.Rows[0].Cells.Count

要在GridView数据绑定后获取列计数,请执行以下操作:

protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
    e.Row.Cells[index].Visible = false;
}

若要使用GridView的RowDataBound事件将列设置为不可见,请执行以下操作.

Asp.net相关问答推荐

从组件属性调用异步方法的正确方法

使用 Asp.Net MVC 和 KnockoutJS 处理日期

如何在 ASP.NET 中设置自动实现属性的默认值

使用进程外会话状态的 ASP.NET 应用程序中的 SQL Server 连接问题

如何通过 Asp.net 中的命令参数传递多个值?

有没有办法将 onclick 事件添加到 ASP.NET 标签服务器控件?

如何检测 ASP.net 应用程序中的 SqlServer 连接泄漏?

无法使用单例Microsoft.AspNetCore.Hosting.Internal.HostedServiceExecutor中的范围服务MyDbContext

您如何以编程方式填写表格并发布网页?

如何验证文件上传的文件类型?

如何在 ASP.NET Core Web API 中配置 JSON 格式的缩进

MVC 4 - Razor - 将变量传递到 href url

HttpResponse.End 或 HttpResponse.Close 与 HttpResponse.SuppressContent

ASP.NET web.config:system.web.compilation 中的 debug 属性的默认值是什么?

InvalidOperationException:无法为角色创建 DbSet,因为此类型未包含在上下文模型中

如何在 ASP.Net Gridview 中添加确认删除选项?

global.asax 中的 Application_Error 未捕获 WebAPI 中的错误

MVC3 和实体框架

将Bundle 包添加到现有的 ASP.NET Webforms 解决方案

POST 字符串到 ASP.NET Web Api 应用程序 - 返回 null