我有一些代码用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!!!
答案 0 :(得分: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()