从.cs中删除gridview中的一行

时间:2013-07-04 16:56:33

标签: c# asp.net

这是我的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文件生成的行?

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

1 个答案:

答案 0 :(得分:2)

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

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