public UserListForm()
{
InitializeComponent();
var lines = System.IO.File.ReadAllLines(
"save.csv",
System.Text.Encoding.GetEncoding("shift_jis"));
foreach (var line in lines)
{
var row = line.Split(',');
}
}
namespace Winform
{
public sealed class UserInfoDto
{
public string Id { get; set; }
public string MailSend { get; set; }
public string MailAdress { get; set; }
public string Plan { get; set; }
public string EnableText { get; set; }
}
}
これはCSVを読んだデータを入れる入れ物クラスになるので,CSV項目と合うように項目を作ります。
ユーザーリスト画面のコードに戻り下記のように記述します。
public partial class UserListForm : BaseForm
{
public UserListForm()
{
InitializeComponent();
if(File.Exists("save.csv")) //ファイルがないときのエラー回避
{
//UserInfoDtoを複数格納するためのリスト
List<UserInforDto> dtos = new List<UserInforDto>();
var lines = System.IO.File.ReadAllLines("save.csv", System.Text.Encoding.GetEncoding("shift_jis"));
foreach (var line in lines)
{
var row = line.Split(',');
// CSVの内容を項目ごとにUserInfoDtoに格納する
UserInfoDto dto = new UserInfoDto();
dto.Id = row[0];
dto.MailSend = row;
dto.MailAdress = row;
dto.Plan = row;
dto.EnableText = row;
dtos.Add(dto);
}
// UserInfoDtoのリストをDataGridViewにデータバインドする
UserDataGrid.DataSource = dtos;
//データグリッドのタイトルを日本語にする
UserDataGrid.Columns[0].HeaderText = "ID";
UserDataGrid.Columns.HeaderText = "メール送信";
UserDataGrid.Columns.HeaderText = "メールアドレス";
UserDataGrid.Columns.HeaderText = "プラン";
UserDataGrid.Columns.HeaderText = "有効/無効";
}
}
}