私は手動で作成された列でデータバインディングを使用するDataGridViewを持っていますが、これはうまくいきます。DataBinding DataGridview行BackColor
しかし、私は行のBackColorも同様にデータバインドしたいと思っています。
これは私の最新の試みです:ArguementExceptionを生成している
dataGridFileTransfer.RowHeadersVisible = false;
dataGridFileTransfer.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
dataGridFileTransfer.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
dataGridFileTransfer.MultiSelect = false;
dataGridFileTransfer.ReadOnly = true;
var files = GetReceivedFiles(false).Union(FileDetails.Select(FileStatus.FailedVerification)).ToList();
dataGridFileTransfer.AutoGenerateColumns = false;
string[] displayHeaders = new string[] { COL_NAME, COL_TYPE, COL_CREATED, COL_SIZE, COL_STATUS };
string[] displayProps = new string[] { "Filename", "FileTypeDisplayName", "Created", "Size", "FileStatus" };
for (int i = 0; i < displayHeaders.Length; i++)
{
DataGridViewTextBoxColumn col = new DataGridViewTextBoxColumn();
col.HeaderText = displayHeaders[i];
col.DataPropertyName = displayProps[i];
if (displayHeaders[i] == COL_CREATED)
col.DefaultCellStyle.Format = Constants.DDMMYYYHHMMSS;
dataGridFileTransfer.Columns.Add(col);
}
Binding bi = new Binding("DefaultCellStyle.BackColor", files, "DisplayColor");
dataGridFileTransfer.DataBindings.Add(bi);
dataGridFileTransfer.DataSource = files;
:
DefaultCellStyle.BackColor」 ターゲットコントロールの "プロパティ にバインドすることはできません"。パラメータ名: PropertyName意味」
は間違っているのPropertyNameの値はありますか、私はDataGridViewの以外のオブジェクトに結合する必要があります(つまり、列?) それともPropertyNameはにすることはできません問題があります?フォームXYは?私は前にこの構文を使用/見ていたと思ったが、多分それは唯一のデータメンバーのために働く?
すべてのヘルプは非常に
こんにちは、私はちょうど最初の2つの文が間違っていることを指摘したかったが、他のすべて私は同意した。私は最後にRowPrepaintに行った。ご協力いただきありがとうございます。 データソース(ファイル)をバインドすると、コレクションになり、databindingプロパティはそのコレクション内のアクティブなオブジェクトになります(files [0] .DisplayColorは自分のオブジェクトに基づいて有効です)。私は既にこのアプローチを別の形式で使用しています。 txtServerAddress.DataBindings.Add( "Text"、m_Profiles、 "ServerAddress"); txtServerAddress.TextをアクティブなProfile.ServerAddress値にバインドします。 – MattH