ソース掲示板




すべてから検索

キーワード   条件 表示 現行ログ 過去ログ トピックス 名前 本文

  メンテナンス 前画面に戻る

対象スレッド 件名: C# : テキストファイル(CSV)入力 : DataGrid に表示
名前: lightbox
処理選択
パスワード

件名 C# : テキストファイル(CSV)入力 : DataGrid に表示
名前 lightbox
コメント
@SHOW
https://lh3.googleusercontent.com/-W58hZzgAiHs/WSO0StC4ZWI/AAAAAAAAkhA/mEhkIjiDzX8OwQAzW55I81FERQatgO6swCHM/s314/_img.png
@END

@DIV
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Data.Odbc;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace WpfApplication1 {
	/// <summary>
	/// MainWindow.xaml の相互作用ロジック
	/// </summary>
	public partial class MainWindow : Window {

		private ObservableCollection<Syain> syain_list = null;

		public MainWindow() {
			InitializeComponent();
		}

		private void Button_Click_1(object sender, RoutedEventArgs e) {
			Console.WriteLine("クリックされました");
			Console.WriteLine(Directory.GetCurrentDirectory());

			FileStream fs = new FileStream(@"..\..\lib\data.csv", FileMode.Open);
			StreamReader sr = new StreamReader(fs, Encoding.GetEncoding("shift_jis"));

			string line;
			string[] data;
			Syain syain;
			syain_list = new ObservableCollection<Syain>();

			while (sr.Peek() >= 0) {
				// 一行取得
				line = sr.ReadLine();
				// 配列に変換
				data = line.Split(",".ToCharArray());

				// バインド用のクラスにセット
				syain = new Syain();
				syain.社員コード = data[0];
				syain.氏名 = data[1];
				// ObservableCollection に追加
				syain_list.Add(syain);

			}

			// DataGrid にバインド
			dataGrid.DataContext = syain_list;

			fs.Close();

			// DataGrid にバインドした ObservableCollection 内のデータ
			for (int i = 0; i < syain_list.Count; i++ ) {
				Debug.WriteLine(syain_list[i].社員コード + "|" + syain_list[i].氏名);
			}

		}

		// DataGrid をダブルクリックした時の行データの取得
		private void dataGrid_MouseDoubleClick(object sender, MouseButtonEventArgs e) {
			int row = dataGrid.SelectedIndex;
			if ( row >= 0 ) {
				Syain syain = (Syain)dataGrid.Items.GetItemAt(row);
				Debug.WriteLine(syain.社員コード + "|" + syain.氏名);
			}
		}

	}
}
@END