質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

DateTime

多くのプログラミング言語におけるDateTimeオブジェクトは、日付と時間に関する演算と出力を行います。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

コンボボックス

GUIの要素のひとつです。Listboxと同様にいくつかのうちひとつを選択する機能だが、Comboboxの場合は選択されたもののみがデフォルトとして表示される。

Q&A

2回答

1284閲覧

CSVデータを読込、DateTimePickerやコンボボックスに表示させたい

doppi

総合スコア2

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

DateTime

多くのプログラミング言語におけるDateTimeオブジェクトは、日付と時間に関する演算と出力を行います。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

コンボボックス

GUIの要素のひとつです。Listboxと同様にいくつかのうちひとつを選択する機能だが、Comboboxの場合は選択されたもののみがデフォルトとして表示される。

0グッド

0クリップ

投稿2020/05/22 00:45

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
C#で従業員の情報をCSVで管理するシステムを作っています。
Datetimepickerとコンボボックスを実装中に以下のエラーメッセージが発生しました。
解決方法、テクニックをご教示頂きたいです。

発生している問題・エラーメッセージ

型'string'を'System.Windows.Form.Combobox'に暗黙的に変換できません

該当のソースコード

C#

1 private void EmployeeForm_Load(object sender, EventArgs e) 2 { 3 try 4 { 5 //読み込むCSVファイルを開く  6 StreamReader file = new StreamReader(@"社員登録情報.csv", 7 8 //CSVからデータを呼び出す際の文字コードをshift jisに指定 9 System.Text.Encoding.GetEncoding("shift_jis")); 10 11 //繰り返し終了判定用の変数lineの初期化 12 string Line = null; 13 14 //一行ずつ読み込む 15 while((Line = file.ReadLine())!= null) 16 { 17 //読み込んだcsvの一行分を、カンマで分割してsEmployeeData[]の配列に1つずつ格納する 18 sEmployeeData = Line.Split(','); 19 20 for(int i = 0; i <= sEmployeeData.Length - 1; i++) 21 { 22 // 配列の要素数を増やす 23 Array.Resize(ref sReadEmployeeData, sReadEmployeeData.Length + 1); 24 25 //sReadEmployeeDataの最後尾の要素にsEmployeeData[i]をコピー 26 sReadEmployeeData[sReadEmployeeData.Length - 1] = sEmployeeData[i]; 27 28 } 29 30 } 31 32 33 //Datetimepicker1に生年月日を表示  ここでエラーメッセージ 34 dateTimePicker1 = sEmployeeData[5]; 35 36 //コンボボックス1に所属を表示する  ここでエラーメッセージ 37 comboBox1 = sEmployeeData[6]; 38 39 40 41 } 42 43 catch (Exception ex) 44 { 45 //ファイルを読み込めない場合エラーメッセージを表示 46 MessageBox.Show("ファイルを読み込めませんでした " + ex.Message); 47 } 48 49 50 #endregion 51 } 52 53

試したこと

前回の質問ではテキストボックスにCSVの配列データを入れることが分かりましたが、
DateTimePikerやコンボボックスではそのままだと配列データを入れることができなく苦戦してます。

補足情報(FW/ツールのバージョンなど)

Visual Studio 2019

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/05/22 00:56

> //Datetimepicker1に生年月日を表示  ここでエラーメッセージ > dateTimePicker1 = sEmployeeData[5]; > //コンボボックス1に所属を表示する  ここでエラーメッセージ > comboBox1 = sEmployeeData[6]; 何でそんなことができると思うのか不思議。何がしたいのですか?
doppi

2020/05/22 01:03

すみません、まだ学習を始めたばかりのド素人なので分からないことだらけです。 ググってみても、Datetimepckerやコンボボックスの作成がほとんどなので質問しました。 ググりながら試行錯誤続けます。
退会済みユーザー

退会済みユーザー

2020/05/22 01:20

何がしたいのかとお聞きしているのですが・・・ それを説明していただかないと、"何がわからないかわからない人から質問を受けても、答える側も困ってしまいます" という状態になってしまいます。 https://teratail.com/help/question-tips#questionTips2
doppi

2020/05/22 01:29

CSVにあるデータをdatetimepickerとコンボボックスに入れたいです。 CSVには12345,678,田中,太郎,1990/1/1,本社....といった行データがあります。 ※すみません、ここの説明が不足してました。 sEmployeeData[5];に生年月日(1990/1/1)が入ってますので、これをDatetimepickerに表示したいです。 sEmployeeData[6];には所属(本社)が入ってますので、これをコンボボックスに表示したいです。
退会済みユーザー

退会済みユーザー

2020/05/22 02:11 編集

依然として分かりません。 > sEmployeeData[5];に生年月日(1990/1/1)が入ってますので、これをDatetimepickerに表示したいです。 DateTimePicker をツールボックスからドラッグ&ドロップしただけのデフォルトでは exe を立ち上げた日付が表示されると思いますが、それを指定した日付にしたいということですか? CSV には複数の社員のデータが入っているのですよね? どの社員をどのように選んでその生年月日を取得するのですか? > sEmployeeData[6];には所属(本社)が入ってますので、これをコンボボックスに表示したいです。 ComboBox を使うということは複数のアイテムをドロップダウン形式で表示してユーザーが選択できるようにするのだと思っています。なのに本社を表示したいということはどういうこと?
guest

回答2

0

質問者さんが無言になってしまい、質問欄のコメントに回答がないので何がしたいのかはっきりしませんが、想像して回答を書いておきます。

sEmployeeData[5];に生年月日(1990/1/1)が入ってますので、これをDatetimepickerに表示したいです。

 ↓↓↓

DateTimePicker の初期表示を指定した日付「生年月日(1990/1/1)」にしたい。(複数の社員からどの社員をどのように選んでその生年月日を取得するのかは置いときます)

sEmployeeData[6];には所属(本社)が入ってますので、これをコンボボックスに表示したいです。

 ↓↓↓

ComboBox に複数のアイテム(所属)をドロップダウン形式で表示。その複数のアイテムのうち「本社」が選択された状態にしたい。

前者は DateTimePicker.Value プロパティに "1990/1/1" を DateTime 型にパースした値を代入すればできます。

後者は ComboBox.SelectedValue に「本社」に該当する ValueMember の値を設定すればできます。

投稿2020/05/22 03:36

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

そりゃ型の違うものに代入はできません。
dateTimePicker とか comboBox とかでぐぐってみれば、いろいろ解説出てくるので読んでみてください

投稿2020/05/22 00:50

y_waiwai

総合スコア87719

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2020/05/22 01:15

ぐぐれば、使い方の記事とかも出てくるでしょうに。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問