C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

コンボボックスの表示値を表示

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■87177 / inTopicNo.1)  コンボボックスの表示値を表示
  
□投稿者/ クロワッサン (1回)-(2018/04/20(Fri) 13:45:28)

分類:[C#] 

VS2010のC#で開発しています。

普通のコンボボックスでSelectedValueを設定するのはプロパティからすぐに選択できます。
が、...DataGridViewではどうすればいいか解らず、http://akirwn.blog79.fc2.com/blog-entry-28.html
参考に実装してみましたが、Itemのところでエラーが出ます


DataGridView1.Item(e.ColumnIndex, e.RowIndex).Value = 1;
Itemの箇所でエラーの波線が出て下記のようなメッセージが出ています。

System.Windows.Forms.DataGridView' に 'Item' の定義が含まれておらず、型 'System.Windows.Forms.DataGridView' の
最初の引数を受け付ける拡張メソッドが見つかりませんでした。
using ディレクティブまたはアセンブリ参照が不足しています。


どんな部品を参照・追加すればよろしいでしょうか
ご存知の方よろしくお願いします








引用返信 編集キー/
■87179 / inTopicNo.2)  Re[1]: コンボボックスの表示値を表示
□投稿者/ クロワッサン (2回)-(2018/04/20(Fri) 13:52:28)
念のため、現在は下記の様なアセンブリを参照しています

using System;
using System.Data;
using System.Linq;
using System.Text;
using System.Drawing;
using System.Windows.Forms;
using System.ComponentModel;
using System.Collections.Generic;
using System.Text.RegularExpressions;







No87177 (クロワッサン さん) に返信
> VS2010のC#で開発しています。
>
> 普通のコンボボックスでSelectedValueを設定するのはプロパティからすぐに選択できます。
> が、...DataGridViewではどうすればいいか解らず、http://akirwn.blog79.fc2.com/blog-entry-28.html
> 参考に実装してみましたが、Itemのところでエラーが出ます
>
>
> DataGridView1.Item(e.ColumnIndex, e.RowIndex).Value = 1;
> Itemの箇所でエラーの波線が出て下記のようなメッセージが出ています。
>
> System.Windows.Forms.DataGridView' に 'Item' の定義が含まれておらず、型 'System.Windows.Forms.DataGridView' の
> 最初の引数を受け付ける拡張メソッドが見つかりませんでした。
> using ディレクティブまたはアセンブリ参照が不足しています。
>
>
> どんな部品を参照・追加すればよろしいでしょうか
> ご存知の方よろしくお願いします
>




引用返信 編集キー/
■87181 / inTopicNo.3)  Re[2]: コンボボックスの表示値を表示
□投稿者/ Hongliang (635回)-(2018/04/20(Fri) 13:58:29)
hoge.Item(huga, piyo)
は、C#ではインデクサと呼ばれる以下の形式でアクセスします。
hoge[huga, piyo]
引用返信 編集キー/
■87182 / inTopicNo.4)  Re[1]: コンボボックスの表示値を表示
□投稿者/ 魔界の仮面弁士 (1651回)-(2018/04/20(Fri) 14:02:26)
No87177 (クロワッサン さん) に返信
> DataGridView1.Item(e.ColumnIndex, e.RowIndex).Value = 1;

dataGridView1 なのか
DataGridView1 なのかはさておき、
上記では VB 構文と C# 構文が混在しているようです。(^^;


C# からインデクサにアクセスしたいのであれば、
 DataGridView1[e.ColumnIndex, e.RowIndex].Value = 1;
のように記述します。


> 普通のコンボボックスでSelectedValueを設定するのはプロパティからすぐに選択できます。

DataGridView 上のドロップダウンリストでも、「表示名」と「実際の値」を分けることはできますが、
 001 りんご
 002 みかん
 003 りんご
 004 ばなな
のように、複数の項目で「同じ表示名」があった場合、両者を区別できなくなるのでご注意ください。
引用返信 編集キー/
■87185 / inTopicNo.5)  Re[3]: コンボボックスの表示値を表示
□投稿者/ クロワッサン (3回)-(2018/04/20(Fri) 14:17:08)
No87181 (Hongliang さん) (魔界の仮面弁士)に返信

下記のようにコンボボックスを設定しています。

//ComboBoxに表示する項目のリストを作成する
DataTable dtTable = new DataTable("dtTable");
dtTable.Columns.Add("Display", typeof(string));
dtTable.Columns.Add("Value", typeof(int));
dtTable.Rows.Add(string.Empty, -1);
dtTable.Rows.Add("無し", 0);
dtTable.Rows.Add("有り", 1);

// DataGridViewComboBoxColumnを作成
DataGridViewComboBoxColumn column = new DataGridViewComboBoxColumn();
column = (DataGridViewComboBoxColumn)dgv.Columns[6];
// 表示する列の名前を設定する
column.DataPropertyName = strColumName;
column.HeaderText = "タイトル";
// 実際の値が"Value"列、表示するテキストが"Display"列とする
column.ValueMember = "Value";
column.DisplayMember = "Display";
// DataGridViewComboBoxColumnのDataSourceを設定
column.DataSource = dtTable;


値を表示する箇所で、下記のように実装しました
      dgv[0, 0].Value = 1;


      「有り」が表示されず、何も表示されず空白が表示されます


他に何が不足しているのでしょうか?

よろしくお願いします



引用返信 編集キー/
■87186 / inTopicNo.6)  Re[4]: コンボボックスの表示値を表示
□投稿者/ クロワッサン (5回)-(2018/04/20(Fri) 14:19:26)
No87185 (クロワッサン さん) に返信
> ■No87181 (Hongliang さん) (魔界の仮面弁士)に返信

すみません
dgv[0, 6].Value = 1;

の間違いでした。


よろしくお願いします
引用返信 編集キー/
■87191 / inTopicNo.7)  Re[5]: コンボボックスの表示値を表示
□投稿者/ クロワッサン (6回)-(2018/04/20(Fri) 15:38:17)

>>■No87181 (Hongliang さん) (魔界の仮面弁士)に返信

解決しました。

Hongliang さん・魔界の仮面弁士 さん ありがとうございました


また、ご迷惑をおかけするかもしれませんが、よろしくお願いします
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ