2017-06-28 16 views
0

テキストファイル検索、コンボボックスとのDataGridViewのC#

  • ボタン - * .txtファイルを開くために、コードすでに行われ、
  • コンボボックスに動作します - 日付を表示は
  • を見つけました
  • のDataGridView - 今、私は次の操作を実行するために、次のコードを記述する方法を知りたい

を選択した日付の情報を表示:

  1. 日付(重複なし)のtxtファイルを検索
  2. 見つかった日付をコンボボックスに表示します。
  3. コンボボックスから希望の日付を選択すると、その日付の情報がdatagridviewに表示されます。

私はこのための作業コードがないので、私は助けていただければ幸いです。私がこれまで持っているどのようなコード

は次のとおりです。テキストファイルの

private void Historybutton_Click(object sender, EventArgs e) 
{ 
    SSBPgroupBox.Enabled = false; 
    DataTable HFdt = new DataTable(); 
    DialogResult result1 = openFileDialog2.ShowDialog(); 

    if (result1 == DialogResult.OK) // Test result. 
    { 

     String Fname = openFileDialog2.FileName; 
     string raw_text = System.IO.File.ReadAllText(Fname); 


     //add headers to datagrid view 
     HFdt.Columns.Add("Sequence"); 
     HFdt.Columns["Sequence"].DataType = Type.GetType("System.Int32"); 
     HFdt.Columns.Add("Timing"); 
     HFdt.Columns["Timing"].DataType = Type.GetType("System.Int32"); 
    } 

    HistorydataGridView.DataSource = HFdt; 
} 

サンプル:

17/05/15-16:40:13:BLAST DRIVER ON 

BLASTING PLAN 

PU1053 (0005 DETS): 

1/7B7C35;11/7B70B2;21/7B7058;31/7B83A1;41/7B70D1; 

BLAST SUMMARY 

1 PU, 00005 DETS 

DELAYS MIN/MAX IN MS : 00001/00041 

GAP MIN/MAX IN MS : 00010/00010 

16:40:32:LINE TEST 

CALIBRATION 

EXTRA DETS :None 

INTERMITTENT CONNECTION DETS :None 

TEST DETS 

MISSING DETS :None 

OUT OF ORDER DETS :None 

INCOHERENT DETS :None 

DELAY ERRORS DETS :None 

16:41:52:TEST END 

16:44:02:CHARGE 

CHECK ENERGIE 

ADDITIONAL MISSING DETS :None 

LOW ENERGY DETS :None 

ADDITIONAL INCOHERENT DETS :None 

16:44:29:FIRE 

私は正確に何をしたいですが、コンボボックスで、次のように日付を表​​示することです

17/05/15 - 0005 Dets 

この日付を選択すると、データグリッドビューには次のように表示されます。

Sequence Timing 

1   1 

2   11 

3   21 

4   31 

5   41 

次のコードを追加して、リストボックスに表示するテキストファイルを取得しました。

String Fname = openFileDialog2.FileName; 
      string[] raw_text = System.IO.File.ReadAllLines(Fname); 
      var lines = new List<string>(); 
      foreach (var line in File.ReadLines(Fname)) 

      { 
       listBox1.Items.Add(line); 
      } 
+3

ファイルが構成されている場合、これはどのように内容に依存します:私はまだ唯一の日付を表示しようとしています。 –

+0

ファイルのコピーはどのように入手できますか? –

+0

ファイルからサンプルデータを投稿に追加してください。 – Filburt

答えて

0
public class Info 
    { 
     public string _Info { get; set; } 
     public DateTime _Date { get; set; } 

    } 

     List<Info> infos = new List<Info>(); 
     //Onload - insert infos from *txt file 


     List<DateTime> dates = infos.GroupBy(x => x._Date).Select(y => y.First()).Select(z=>z._Date).ToList(); 
     //no duplicates dates 

     List<string> dateInfos = infos.Where(x => x._Date == selectedDate).Select(z=>z._Info).ToList(); 
     //show infos for selected date 
+0

これで、テキストファイルをリストボックスに読み込むことができました。 –

+0

ヘルプがありがとうございました –

関連する問題