ついに稼働しました!今後の参考のために、これは私が使用したものです:
最初にこのメソッドを呼び出して、次を使用して手動バインディングを初期化しますBindingSource
。
private BindingSource bindingSource ;
private void InitUserListArea()
{
_bindingSource = new BindingSource();
_bindingSource.DataSource = tempUsers;
_labelUserListRoleValue.DataBindings.Add("Text", _bindingSource, "Role");
_labelUserListNameValue.DataBindings.Add("Text", _bindingSource, "Name");
_labelUserListLastAccessValue.DataBindings.Add("Text", _bindingSource, "LastAccess");
_dataRepeaterUserList.DataSource = _bindingSource;
}
次に、(私の場合は Web サービスから) データを取得し、リストにデータを入力します。リストが入力された後、または変更が発生した場合:
private void RefreshDataRepeater()
{
if (_dataRepeaterUserList.InvokeRequired)
{
_dataRepeaterUserList.Invoke((Action)(() => { RefreshDataRepeater(); }));
return;
}
_bindingSource.DataSource = null;
_bindingSource.DataSource = tempUsers;
_dataRepeaterUserList.DataSource = null;
_dataRepeaterUserList.DataSource = _bindingSource;
_dataRepeaterUserList.Refresh();
}