网格视图和数据库
本文关键字:数据库 视图 网格 | 更新日期: 2023-09-27 18:27:40
我有一段代码,它正在用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()