08/04/07 19:27:02
XmlDocument xml = new XmlDocument();
xml.Load(url);
xml["abc"]というノードがあるのか調べるにはどうしたら良いのでしょうか?
679:664
08/04/07 19:48:19
>>675さんのお話を聞くと、自分のコーディングの方向性が
根本的に間違っているような気がしてきました・・・。
ここに書き込む前は、以下のような方法で実現しようとしていました。
namespace下に以下のようなクラスを作成し、
public class CurrentYearAndMonth
{
public static int cYear;
public static int cMonth;
public static int cMonthDaysCount;
public static void SyncYM()
{
DateTime dtNow = DateTime.Now;
cYear = dtNow.Year;
cMonth = dtNow.Month;
cMonthDaysCount = DateTime.DaysInMonth(cYear, cMonth);
}
}
これに対して、グリッドを配置しているFormのForm_Loadメソッド内で、
簡潔に書くと以下のように上記の変数を使っています。
for (int r = 1; r <= CurrentYearAndMonth.cMonthDaysCount; r++)
{
grid1.Rows.Insert(r);
grid1[r, 0] = new SourceGrid.Cells.Cell(CurrentYearAndMonth.cMonth.ToString() + "月" + r.ToString() + "日");
}
この状態で、Load完了後にcMonthなどの変数値をいじってFormやgrid1をUpdate()などしてみると、
UI上の表示も変化するかなと目論んでいたんですが、やはり間違っているのでしょうか?
(ちなみに、SourceGridは
URLリンク(sourceforge.net)
からダウンロードできます。)
680:664
08/04/07 19:50:46
追記です。
CurrentYearAndMonth内のSyncYM()メソッドは、OSの現在時刻と合わせるためのもので、
プログラム起動時のみ1度だけ使用しています。
681:678
08/04/07 19:54:29
自決
682:デフォルトの名無しさん
08/04/07 20:00:02
以降はチラシの裏に書けよw
683:デフォルトの名無しさん
08/04/07 20:01:52
>>679
コントロールに値を渡した後は元の変数とは何の関係もなくなるから
更新するときは毎回全部設定しなおす必要がある
それと,フィールドをstaticにするのは誰がどう見ても間違い
684:デフォルトの名無しさん
08/04/07 20:04:25
>>665をお願いします...
685:デフォルトの名無しさん
08/04/07 20:32:25
どう見てもC#の質問に見えないからスルーされたんだろ。
686:664
08/04/07 21:00:58
>>683
なるほど。そうでしたか。
試行錯誤の結果、
<変数値変更>
this.Controls.Remove(grid1);
grid1 = new SourceGrid.Grid();
grid1.Refresh();
this.Controls.Add(grid1);
<grid1の表示調整>
<Form1_Load メソッドでgrid1に対して行われるのと同等の処理>
というような流れで、無事初期化・表示更新を行うことができました。
staticについても見直してみます。
貴重なお時間を割いてアドバイスいただき、本当にありがとうございました。
687:デフォルトの名無しさん
08/04/07 21:36:31
>>685
そうでしたか。ごめんなさい。
688:デフォルトの名無しさん
08/04/07 21:44:54
>>678
ノードっつっても色々あるがどのノード?
あとxml["abc"]じゃなくてabcを調べたいんだよな?