c# - GridView 显示来自数据表绑定(bind)背后代码的 2 列

标签 c# asp.net vb.net

如果 GridView 绑定(bind)在自动生成的表格后面的代码中,我如何在我的 GridView 中只显示两个列?现在它显示六列,而我只想显示两列?

这是我的 .aspx 页面代码:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default2.aspx.vb" Inherits="Default2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" runat="server">

                <columns>
          <asp:boundfield datafield="Drug" headertext="ddddrug"/>
          <asp:boundfield datafield="date" headertext="ddddate"/>

        </columns>


        </asp:GridView>
    </div>
    </form>
</body>
</html>

这是我的代码背后的代码:

Imports System.Data

Partial Class Default2
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    ' auto generated table
        Dim table2 As New DataTable
        ' Create four typed columns in the DataTable.
        table2.Columns.Add("ID", GetType(Integer))
        table2.Columns.Add("Drug", GetType(String))
        table2.Columns.Add("Patient", GetType(String))
        table2.Columns.Add("Date", GetType(DateTime))
        ' Add five rows with those columns filled in the DataTable.
        table2.Rows.Add(25, "Indocin", "David", DateTime.Now)
        table2.Rows.Add(50, "Enebrel", "Sam", DateTime.Now)
        table2.Rows.Add(10, "Hydralazine", "Christoff", DateTime.Now)
        table2.Rows.Add(21, "Combivent", "Janet", DateTime.Now)
        table2.Rows.Add(1100, "Dilantin", "Melanie", DateTime.Now)
        table2.Rows.Add(125, "Indocin", "David", DateTime.Now)
        table2.Rows.Add(150, "Enebrel", "Sam", DateTime.Now)
        table2.Rows.Add(110, "Hydralazine", "Christoff", DateTime.Now)

        GridView1.DataSource = table2

        GridView1.DataBind()

    End Sub

    End Sub
End Class

最佳答案

忽略您拥有的数据多于所需的事实。将 AutoGenerateColumns 设置为 false。为需要显示的列创建 BoundColumns。示例:

BoundColumn nameColumn = new BoundColumn();
nameColumn.DataField = "Drug";
nameColumn.DataFormatString = "{0}";
nameColumn.HeaderText = "Drug";

然后将这个 BoundColumn 添加到 gridview。

GridView1.Columns.Add(nameColumn);
GridView1.AutoGenerateColumns = false;

关于c# - GridView 显示来自数据表绑定(bind)背后代码的 2 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12311565/

相关文章:

c# - 元素 'entityFramework' 具有无效的子元素 Entity Framework

c# - 运行 DELETE SQL 查询后 ASP.NET 页面不刷新

c# - 从 .NET 4.5.1 应用程序 (EXE) 引用 .NET 3.5 DLL 使用 .NET 4.5.1 对象

c# - 如何将数据 View 从第 i 行过滤到第 j 行? (C#)

c# - 从未使用过 Resharper 方法

c# - 获取所有查询字符串对并初始化字典的最佳方法

c# - 异常 : When to use, 时序,整体使用

asp.net - 对 Azure 托管 ASP .Net 5 站点进行地理复制和流量路由,并跨大洲支持 SQL 数据库

c# - 您会使用 VB 进行开发,然后将您的代码转换为 C# 只是为了让您的整个团队使用一种语言吗?

WPF Scrollviewer ItemsControl 将项目滚动到 View 中