2017-05-21 8 views
-1

C#windowsフォームアプリケーションで、グリッドデータビューをフラットファイルにバインドする方法を探していますが、SQL Serverのような完全なデータベースを使用したくないため、表示する単純なデータが含まれています。グリッドからこれらのデータを追加/削除/編集する必要がありますが、どうすればできますか?フラットファイルデータソースでデータグリッドビューをバインドする方法はありますか?

ドキュメントやチュートリアルへのリンクがあれば教えてください。ここで

+0

あなたは、単にファイルの結合データグリッドを行うことはできません。ファイルを何らかのコレクションに読み込み、データグリッドにバインドしてから、行を変更するときにコレクションをファイルに保存する必要があります。シリアル化が役立つかもしれません。 – yoger

答えて

1

はそれを行う方法の例です:

private const string TestDataFilePath = @"C:\test\TestData.xml"; 
private readonly XmlSerializer _serializer = new XmlSerializer(typeof(DataModel[])); 
private DataModel[] Items { get; set; } 

public Form1() 
{ 
    InitializeComponent(); 

    Load += LoadData; 
    btnSave.Click += SaveData; 
} 

private void SaveData(object sender, EventArgs e) 
{ 
    using (var file = File.Create(TestDataFilePath)) 
    { 
     _serializer.Serialize(file, Items); 
    } 
} 

private void LoadData(object sender, EventArgs eventArgs) 
{ 
    using (var file = File.Open(TestDataFilePath, FileMode.Open)) 
    { 
     Items = (DataModel[])_serializer.Deserialize(file); 
    } 

    dataGridView1.DataSource = Items; 
} 
関連する問題