0

我有这段代码用 csv 文件填充我的 gridview。我需要隐藏一些列,但不知道在代码中的哪个位置进行此操作。我真的需要帮助,所以请避免评论我如何向您展示或给我减分,因为我的语法不好。

 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Web;
 using System.Web.UI;
 using System.Web.UI.WebControls;
 using System.Data;
 using System.Configuration;

 namespace SeccurisCsvReader
 {
    public partial class gridView : System.Web.UI.Page
    {


    protected void Page_Load(object sender, EventArgs e)
    {

    }   

     protected void csvButton_Click(object sender, EventArgs e)
     {
         if (FileUpload1.PostedFile.FileName == string.Empty)
         {
             lblMsg.Visible = true;
             return;
         }
         else
         {
             string[] FileExt = FileUpload1.FileName.Split('.');
             string FileEx = FileExt[FileExt.Length - 1];
             if (FileEx.ToLower() == "csv")
             {
                 FileUpload1.SaveAs(Server.MapPath(" " + FileUpload1.FileName));
             }
             else
             {
                 lblMsg.Visible = true;
                 return;
             }
         }
         CSVReader reader = new CSVReader(FileUpload1.PostedFile.InputStream);
         string[] headers = reader.GetCSVLine();
         DataTable dt = new DataTable();

         foreach (string strHeader in headers)
             dt.Columns.Add(strHeader);
        string[] data;
         while ((data = reader.GetCSVLine()) != null)
             dt.Rows.Add(data);
         CsvGridView.DataSource = dt;           
         CsvGridView.DataBind();


             }
         }


     }

 Now where do I start!!!
4

1 回答 1

0

据我了解,您希望省略显示表格的整个列。如果您根本不需要这些数据,您可以定义网格视图显示的内容,而不是首先确定不阅读的内容,而无需更改您的表格。这样,如果您需要其他信息并且只是不想显示它,它仍然会出现在行中,以便您可以找到并使用它。

您想在网格视图中定义列并指定它们使用表中的哪些列

<asp:GridView AutoGenerateColumns="false">
    <Columns>
        <asp:BoundField DataField="you_will_want_to_name_your_column" HeaderText="column name" ShowHeader="true"/>
    </Columns>
</asp:GridView>

是一个开始,我假设你在视觉工作室,所以我打赌智能感知会告诉你剩下的。

Grid View Column Types还将教您有关列类型和数据绑定的知识

如果您的列未命名,您可以尝试类似,

        foreach(DataColumn column in table.Columns)
    {
        column.ColumnName = columnNameArray[i];
        i++;
    }

或者理想情况下,当您点击 csv 的那部分时,您会读入 table.columns.add()

于 2013-08-13T14:56:16.407 回答