0

グリッドビューに 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!!!
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>

はじまりです。あなたはビジュアル スタジオにいると思います。残りは intelli-sense が表示してくれると思います。

また、グリッド ビューの列の種類では、列の種類とデータ バインディングについて説明します。

列に名前が付けられていない場合は、次のようなものを試してください。

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

または理想的には、csv のその部分にヒットしたときに table.columns.add() を読み込むことになります。

于 2013-08-13T14:56:16.407 に答える