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

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

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.83710 の関連記事表示

<< 0 >>
■83710  DataGridViewで選択行の複写を行いたい
□投稿者/ 広告デザイナー志望 -(2017/04/04(Tue) 09:12:21)

    分類:[.NET 全般] 

    環境/言語:[VB.net .NetFW4.6 VS2012] 

    初めまして!システム系の仕事に配属されて数か月の素人です。
    VB.NETでの質問です。
    DataGridViewで明細内のボタンで選択した行の内容をコピーした新規行を生成するという記述が作れず困っています。
    DataGridView1.Rows.Add(DataGridView1.CurrentRow)と書くと
    InvalidOperationException{"指定された行は DataGridView コントロールに既に属しています。"}と表示されてしまいます。
    本来データベースは重複行を受け付けない仕様だとは思うのですが、複写という専用ボタンが設計書に乗っており、
    全ての項目が同じ行を生成するのが必要とのことです。プログラム自体はVB+SQLで作られており、データベースの登録内容の編集を行ったり新規行を作成する保守画面です。
    どなたか同じ内容の行の複写を行う記述をご存じでしたら、ご教示よろしくお願い致します。
親記事 /過去ログ143より / 関連記事表示
削除チェック/

■83711  Re[1]: DataGridViewで選択行の複写を行いたい
□投稿者/ shu -(2017/04/04(Tue) 09:23:37)
    No83710 (広告デザイナー志望 さん) に返信

    新しい行を作成して各項目内容をすべてコピーする。

    DataTableとくっついているなら
    tbl.ImportRow(CurrentRow)

    > 本来データベースは重複行を受け付けない仕様だとは思うのですが
    扱いが面倒なだけで受けつけないとは限らない。
    主キーとなる項目は別途もうけるべきだとは思う。


記事No.83710 のレス /過去ログ143より / 関連記事表示
削除チェック/

■83721  Re[2]: DataGridViewで選択行の複写を行いたい
□投稿者/ 広告デザイナー志望 -(2017/04/04(Tue) 16:47:15)
    No83711 (shu さん) に返信

    > 扱いが面倒なだけで受けつけないとは限らない。
    > 主キーとなる項目は別途もうけるべきだとは思う。

    ありがとうございます。特別イレギュラーという訳では無いのですね。

    No83715 (WebSurfer さん) に返信

    > もしそのような構成になっているのであれば、その図の
    >「DataSet コントロール」に行を追加することを考えてはいかがでしょうか?

    ありがとうございます。こちらのDataSet コントロールの図も初見で役に立ちそうです。


    お二方のアドバイスを参考に色々と試してみようと思います。ありがとうございました。
記事No.83710 のレス /過去ログ143より / 関連記事表示
削除チェック/

■83739  Re[3]: DataGridViewで選択行の複写を行いたい
□投稿者/ WebSurfer -(2017/04/05(Wed) 10:52:09)
    No83721 (広告デザイナー志望 さん) に返信

    > ありがとうございます。こちらのDataSet コントロールの図も初見で役に立ちそうです。

    どのような構造のアプリを作っているのか分かりませんが、できれば一度 Visual Studio
    のウィザードを使って、Windows Forms アプリで DataGridView を使った時の定番の構成
    のアプリを作ってみてはいかがでしょう?

    ウィザードが自動生成するコードを見れば今後の開発の参考になると思います。

    DB が SQL Server の場合ですが、以下のチュートリアル、

    チュートリアル : データベースへのデータの保存 (単一テーブル)
    https://msdn.microsoft.com/ja-jp/library/0f92s97z(v=vs.120).aspx

    10 行でズバリ !! 非接続型のデータ アクセス (ADO.NET) (C#)
    https://code.msdn.microsoft.com/windowsdesktop/10-ADONET-C-cbfe7688

    ・・・のように Visual Studio のデータソース構成ウィザードを利用して型付 DataSet
    + TableAdapter を作って、それを利用してアプリを作ると、以下のページの図のような
    構造のアプリが、ほとんど自分でコードを書くこと無しに作れます。

    Windows フォーム アプリケーションでのデータへの接続
    https://msdn.microsoft.com/ja-jp/library/wxt2cwcc(v=vs.120).aspx

    操作に慣れると 10 分もかからず作れるはずです。

    これをベースにできれば開発工数は激減するはずです。保守工数も減るはずです。お試し
    ください。
記事No.83710 のレス /過去ログ143より / 関連記事表示
削除チェック/

■83715  Re[1]: DataGridViewで選択行の複写を行いたい
□投稿者/ WebSurfer -(2017/04/04(Tue) 10:26:48)
    No83710 (広告デザイナー志望 さん) に返信

    質問者さんのアプリがどのような構成になっているか、最終的な目的を果たせるかどうか不明なの
    でのでハズレかもしれませんが・・・

    SQL Server などの DB を元に Visual Studio のウィザードを使ってアプリを作ると、以下の記事
    で「図2」の「(b) VS2005 でのデータベース・アクセス」の構成になると思います。

    もしそのような構成になっているのであれば、その図の「DataSet コントロール」に行を追加す
    ることを考えてはいかがでしょうか?

    Part6 .NETで,データベース・プログラムはこう作る
    http://itpro.nikkeibp.co.jp/article/COLUMN/20070320/265659/
記事No.83710 のレス /過去ログ143より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -