0

这是我的 aspx 页面

<asp:GridView ID="GridViews1" runat="server" CellPadding="4" 
    ForeColor="#333333" GridLines="None" 
    >
   <Columns>

    <asp:TemplateField HeaderText = "S.No">
         <ItemTemplate>
          <asp:Label ID="Sno" runat="server" Text= '<%#Eval("id")%>' ></asp:Label>
         </ItemTemplate>
         </asp:TemplateField>
         <asp:TemplateField HeaderText = "Name">
         <ItemTemplate >
         <a href= "<%# Eval("Photo") %>" > <%# Eval("name") %> </a>
         </ItemTemplate>
         </asp:TemplateField>
         <asp:TemplateField HeaderText  = "Photo">
         <ItemTemplate>
         <img src='<%# Eval("Photo") %>' alt='<%# Eval("Name") %>' height= "50px" width = "50px"/>
         </ItemTemplate>
         </asp:TemplateField>

    </Columns>
    <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
    <EditRowStyle BackColor="#999999" />
    <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
    <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
    <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
    <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />

    <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
    <SortedAscendingCellStyle BackColor="#E9E7E2" />
    <SortedAscendingHeaderStyle BackColor="#506C8C" />
    <SortedDescendingCellStyle BackColor="#FFFDF8" />
    <SortedDescendingHeaderStyle BackColor="#6F8DAE" />
</asp:GridView>

这是我的 .cs 文件

public partial class people_db_mysql : System.Web.UI.Page
{

String MyConString = "SERVER=localhost;" +
      "DATABASE=shortandsweet;" +
      "UID=root;" +
      "PASSWORD=;";
protected void Page_Load(object sender, EventArgs e)
{
    MySqlConnection conn = new MySqlConnection(MyConString);
    MySqlCommand cmd = new MySqlCommand("SELECT * FROM people_details;", conn);
    conn.Open();
    DataTable dataTable = new DataTable();
    MySqlDataAdapter da = new MySqlDataAdapter(cmd);
    da.Fill(dataTable);
    GridViews1.DataSource = dataTable;
     GridViews1.DataBind();
}}

现在我得到的输出是

[ S.NO,姓名,照片,sno,姓名和照片]

前三个字段来自我希望显示的 aspx 页面,我不希望显示其他 3 个字段有什么想法可以实现吗?而且我试过这个

 GridViews1.Columns[3or4or5].Visible = false;  //and it says array out of bounds 

但是我可以使用相同的命令隐藏 0,1,2 字段,有没有办法隐藏通过 .cs 文件生成的行?

如果我尝试通过选择查询限制行,它不会显示任何内容,我只会得到一个空白屏幕。

4

1 回答 1

2

Gridview 控件有一个属性“AutoGenerateColumns”,必须设置为“false”,否则即使您手动添加了列,它也会自动生成列。

<asp:GridView ID="GridViews1" runat="server" CellPadding="4" 
    ForeColor="#333333" GridLines="None" AutoGenerateColumns="false" 
    >
于 2013-07-04T17:01:55.907 回答