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、名前と写真]

最初の 3 つのフィールドは、表示したい aspx ページからのもので、他の 3 つのフィールドを表示したくありません。さらに、これを試しました

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

ただし、同じコマンドで 0,1,2 フィールドを非表示にできます。.cs ファイルで生成された行を非表示にする方法はありますか?

選択クエリを使用して行を制限しようとすると、何も表示されず、空白の画面が表示されます。

4

1 に答える 1

2

Gridview コントロールには、「false」に設定する必要がある「AutoGenerateColumns」プロパティがあります。そうしないと、列を手動で追加した場合でも列が自動生成されます。

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