質問編集履歴

2 改善

xlostdjx

xlostdjx score 25

2018/07/26 15:01  投稿

データグリッドビューのコンボボックスcolumn列のセルに値を表示させる方法
初心者なので足りない情報があれば言って下さい。
データグリッドビュー(DgvSalesItem)のコンボボックスcolumn列のセルに値を表示させたいのですが上手くいきません。
どこがおかしいのでしょうか。
```C#
ITEM_CD.DataSource = CommonSQL.ExecutionSQL(CmbItem());
ITEM_CD.DisplayMember = "UNIT_NAME";
ITEM_CD.ValueMember = "UNIT_PRICE";
```
```
   コンボボックスcolumn列に値を入れるSQL文
/// <summary>
/// 商品マスタから商品名のデータを取得する。
/// </summary>
/// <returns>商品情報</returns>
private StringBuilder CmbItem()
{
StringBuilder itemSQL = new StringBuilder();
itemSQL.AppendLine("SELECT ");
itemSQL.AppendLine(" ITEM_CD,");
itemSQL.AppendLine(" UNIT_NAME ");
itemSQL.AppendLine(" FROM ");
itemSQL.AppendLine(" M_ITEM ");
itemSQL.AppendLine(" ORDER BY ");
itemSQL.AppendLine(" ITEM_CD");
// StringBuilder(itemSQL)を返す
```
```
DB接続とデータテーブルに置き換え
public DataTable ExecutionSQL(StringBuilder sbSQL)
{
SqlConnection SqlConnect = new SqlConnection(getConnectString());
try
{
// DB接続する
SqlConnect.Open();
// インスタンスを作成
DataTable dt = new DataTable();
//ConnectSQL();
// データソースの接続
SqlDataAdapter sqldata = new SqlDataAdapter(sbSQL.ToString(), SqlConnect);
// データをデータテーブルに格納する
sqldata.Fill(dt);
//DataTableを返す
return dt;
}
catch (Exception)
{
// 例外処理を投げる
throw;
}
finally
{
// DB接続解除
SqlConnect.Close();
}
}
```
  • C#

    9065 questions

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

1 改善

xlostdjx

xlostdjx score 25

2018/07/26 14:39  投稿

データグリッドビューのコンボボックスcolumn列のセルに値を表示させる方法
初心者なので足りない情報があれば言って下さい。
データグリッドビュー(DgvSalesItem)のコンボボックスcolumn列のセルに値を表示させたいのですが上手くいきません。
どこがおかしいのでしょうか。
```C#
                       ITEM_CD.DataSource = CommonSQL.ExecutionSQL(CmbItem());
                       ITEM_CD.DisplayMember = "UNIT_NAME";
                       ITEM_CD.ValueMember = "UNIT_PRICE";
                       DgvSalesItem.Columns.Insert(DgvSalesItem.Columns["ITEM_CD"].Index, ITEM_CD);
                       DgvSalesItem.Columns.Remove("ITEM_CD");
     
```
```
   コンボボックスcolumn列に値を入れるSQL文
       /// <summary>
       /// 商品マスタから商品名のデータを取得する。
       /// </summary>
       /// <returns>商品情報</returns>               
       private StringBuilder CmbItem()
       {
           StringBuilder itemSQL = new StringBuilder();
           itemSQL.AppendLine("SELECT ");
           itemSQL.AppendLine(" ITEM_CD,");
           itemSQL.AppendLine(" UNIT_NAME ");
           itemSQL.AppendLine(" FROM ");
           itemSQL.AppendLine(" M_ITEM ");
           itemSQL.AppendLine(" ORDER BY ");
           itemSQL.AppendLine(" ITEM_CD");
           // StringBuilder(itemSQL)を返す
           }
```
```
DB接続とデータテーブルに置き換え
       public DataTable ExecutionSQL(StringBuilder sbSQL)
       {
           SqlConnection SqlConnect = new SqlConnection(getConnectString());
           try
           {
               // DB接続する
               SqlConnect.Open();
               // インスタンスを作成
               DataTable dt = new DataTable();
               //ConnectSQL();
               // データソースの接続
               SqlDataAdapter sqldata = new SqlDataAdapter(sbSQL.ToString(), SqlConnect);
               // データをデータテーブルに格納する             
               sqldata.Fill(dt);
               //DataTableを返す
               return dt;
           }
           catch (Exception)
           {
               // 例外処理を投げる
               throw;
           }
           finally
           {
               // DB接続解除
               SqlConnect.Close();
           }
       }
```
  • C#

    9065 questions

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

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る