网格视图和数据库

Gridviews and datascources

本文关键字:数据库 视图 网格      更新时间:2023-09-26

我有一段代码,它正在用csv文件填充我的网格视图。我需要隐藏一些列,但不知道在代码中的何处进行此操作。我真的需要帮助,所以请避免评论我是如何向你展示的,或者因为我的语法不好而给我减号。

 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!!!

据我所知,您希望省略表中的整列。如果您根本不使用这些数据,那么您可以定义网格视图显示的内容,而不是一开始就弄清楚不应该读取哪些内容(如果您根本没有使用这些数据的话,则应该这样做)。这样,如果你需要其他信息,只是不想显示它,它仍然会在一行中,这样你就可以找到它并使用它

您希望在网格视图中定义列,并指定表中使用的列

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

是一个开始,我假设你在视觉工作室,所以我打赌intelli sense会给你看剩下的。

此外,网格视图列类型将教您有关列类型和数据绑定

如果你的列没有命名,你可以试试

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

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