2016-04-12 5 views
-1

私は、txtファイルからASP用のブートストラップを使用して作成されたテーブルを作成しようとしていましたが、それをやり遂げ続けるようです... 私は私の試みあなたはそれを見て、おそらく私を助けることができます。ASP用のブートストラップtxtファイルからテーブルを作成する

Column1Txt Column2Txt Column3Txt Column4Txt 
Column1Txt Column2Txt Column3Txt Column4Txt 
Column1Txt Column2Txt Column3Txt Column4Txt 
Column1Txt Column2Txt Column3Txt Column4Txt 

はここでそれをやっての私の試みです: txtファイルで使用されるフォーマットは次のとおりです

<div class="container"> 
      <div class="left"> 
       <div class="row"> 
        <table class="table table-striped"> 
         <!-- table head --> 
         <thead> 
          <tr> 
           <th>#</th> 
           <th>Column1</th> 
           <th>Column2</th> 
           <th>Column3</th> 
           <th>Column4</th> 
          </tr> 
         </thead> 
        </table> 
        <iframe src="/tablecontent/content.txt" frameborder="0"></iframe> 
      </div> 
     </div> 
    </div> 

私はそれも、テーブル内ではありません知っているが、私もそれを行うことを試みましたそれをテーブルの中に入れておけば、正しく動作しませんでした。

お時間をありがとうございます。

答えて

2

まず、テキストファイルの内容を読み込み、データを解析する必要があります。サンプルを見ると、私はスペースで区切られていると仮定しますが、あなたはそれを自分で決める必要があります。それを行うには無数の方法があります。ここでは一つだ:

クラスまたは構造体やデータを保持:

public class ColumnData() 
{ 
    public string Column1 { get; set; } 
    public string Column2 { get; set; } 
    public string Column3 { get; set; } 
    public string Column4 { get; set; } 
} 

は、ロジックを解析:

string rawText = System.IO.File.ReadAllText("Full path to file"); 
string[] rows = rawText.Split(System.Environment.NewLine); 
List<ColumnData> data = rows 
    .Select(rowText => rowText.Split(" ")) 
    .Select(rowArray => new ColumnData 
    { 
     Column1 = rowArray[0], 
     Column2 = rowArray[1], 
     Column3 = rowArray[2], 
     Column4 = rowArray[3] 
    }) 
    .ToList(); 

次に、あなたが使用可能な形式のデータを持っていたら、あなたは適切なHTMLを作成することができます。 GridView、Repeater、またはHTMLを手動で構築するための文字列操作を使用しても可能です。最後のオプションを使用する場合は、リテラルコントロールを追加して手動で作成した文字列を入力するなど、何らかの方法でページに追加する必要があります。マークアップで

Literalコントロール::(解析ロジックからdataを使用して)文字列を構築するための

<table class="table table-striped"> 
    <!-- table head --> 
     <thead> 
      <tr> 
       <th>#</th> 
       <th>Column1</th> 
       <th>Column2</th> 
       <th>Column3</th> 
       <th>Column4</th> 
      </tr> 
     </thead> 
     <tbody> 
      <asp:Literal id="columnData" runat="server"/> 
     </tbody> 
    </table> 

コード:

string rowFormat = "<tr><td></td><td>{0}</td><td>{1}</td><td>{2}</td><td>{3}</td></tr>"; 
string[] rowStrings = data 
    .Select(row => string.Format(rowFormat, row.Column1, row.Column2, row.Column3, row.Column4)) 
    .ToArray(); 
string html = string.Join(System.Environment.NewLine, rowStrings); 

// Populate literal control 
columnData.Value = html; 

はここで手動で構築HTML文字列を使用した例です編集:大きな免責事項:これはの証明です型コードのみ。 にはエラー処理があります。私はこれをまったく使わないことを知らない。これはあなたに一般的なアイデアを示すことです。

+0

この単純な実装に感謝したいと思います。しかし、.NET 4.6.1ではcolumnData.ValueをcolumnData.Textに置き換える必要があることがわかりました – Peroxy

関連する問題