私も設定したいナビゲーションプロパティをline
持つエンティティであるオブジェクトを作成しています。Tags
オブジェクトにバインドされた datagridview からこのタグ コレクションを取得したいTag
:
dgvTags.DataSource = _rs.Tags.Where(x => x.TagGroup.Name == "All Reasons").OrderBy(x => x.Name);
問題のあるコード:
Line l = new Line
{
Part = o.Part,
Description = desc,
Price = o.Price.Value,
InvoiceNo = o.InvoiceNo,
Cost = o.Cost.Value,
Comments = txtComment.Text,
Tags = dgvTags.SelectedRows as List<Tag> // <--- needs work here
};
行にエラーが表示されています:
エラー 5 型 'System.Windows.Forms.DataGridViewSelectedRowCollection' を 'System.Collections.Generic.List' に変換するには、参照変換、ボックス化変換、ボックス化解除変換、ラッピング変換、または null 型変換 C:\SVN\RS\fAddLines を使用できません.cs 142 15 RS
これを行う正しい方法はありますか?
アップデート:
以下のコードで目的の結果を達成できましたが、正しい方法を探しています。
foreach (DataGridViewRow r in dgvTags.SelectedRows)
{
l.Tags.Add(r.DataBoundItem as Tag);
}