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

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

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

No.87106 の関連記事表示

<< 0 >>
■87106  Re[4]: datagridviewからxmlへの出力について
□投稿者/ kaz -(2018/04/11(Wed) 23:36:01)
    No87104 (WebSurfer さん) に返信
    > でも、ポイントはそこではなく、何で作ろうとスキーマと xml 本体がきちんとできていれば、上に書いたコード
    > だけでチェックボックスは表示され、チェックの有無で xml の当該項目が true / false に書き換わるというこ
    > とです。
    >
    > 質問者さんが No87102 に書いたような DBNull で判定して false を代入する操作は必要はないです。

    「元のxmlがきちんと出来ている」
    この条件が大切だと思われます

    状況を整理すると
    xmlから読み込んだデータをDataGridViewに表示した際
    チェックボックスが未チェックになるのは2パターンあって
    【1】元のxmlで要素がfalseの時
    【2】元のxmlで要素が存在しない(DBNull)の時

    【1】であれば、当然書き出したxmlでも正しくfalseが存在する
    【2】のときは、書き出したxmlでも要素が欠けた状態になる
    というのが今の自分の理解です

    WebSurfer さんにご提示頂いたやり方で
    元のxmlファイルに欠けた要素がある(例えば、チェックボックスに対応する要素が存在せずDBNullである場合)でも
    書き出したxmlファイルでは、その要素はfalseとして存在しますでしょうか?

    自分が試した型付データセットを用いる方法だと
    元のxmlファイル中で欠けている要素は、それが文字列だろうとチェックボックスに対応する列だろうと
    書き出したxml中でも、要素が消えたままになります

    つまり、DBNullに相当する要素をxmlに書き出す(または、読み込むタイミングでもいいですが)ときに
    「その要素が属している列の型がStrringであれば空文字へ、Booleanであればfalseへ」の変換が必要であり
    その変換を誰がどこで行うのかという問題だと思います
    (ご提示頂いた方法だと、自動変換されるのかも?)

    更に、
    そもそも、欠けた要素の存在するxmlを元データとして認めるのかという問題があります
    最初に欠けた要素が存在しないxmlデータからスタートして
    追記する場合も、要素が欠ける事がないようにすれば(例えば、DefaultValueを適切に設定するとか)
    そもそも条件【2】に遭遇する事が無くなりますね
記事No.87059 のレス /過去ログ149より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -