1

私はこのようなXMLファイルを持っています

<Alarms>
    <Alarm>
        <Repeat>False</Repeat>
    </Alarm>
    <Alarm>
        <Repeat>True</Repeat>
    </Alarm>
</Alarms>

次のコードを使用して、これらのブール値を DataGridViewCheckBoxColumn にバインドしようとしています。

var xdoc = XDocument.Load("Alarms.xml");
foreach (var x in xdoc.Root.Elements("Alarm"))
{
    var repeat = x.Element("Repeat");
    bool repeat_v = repeat == null ? false : true;
    if (date != null)
        this.grid_SavedAlarms.Rows.Add(repeat_v);
}

プログラムを終了せずにランタイム例外を発生させます。チェックボックスをオンにしません。ブール値を「repeat_v」にキャストする最良の方法はどれですか?

4

2 に答える 2

2

DataGridViewRow をグリッドに追加する必要があります。その前に、Xml 値をブール値に解析します。

bool repeat_v = repeat == null ? false : bool.Parse(repeat.ToString());
if (date != null)
  {      
       DataGridViewRow row = new DataGridViewRow();
       row.Cells.Add(new DataGridViewCheckBoxCell() {Value = repeat_v});
       this.grid_SavedAlarms.Rows.Add(row);
  }
于 2013-10-06T07:07:08.160 に答える