在网格外的控件中显示大型历史记录字段



我有一个绑定到对象的BindingList的DataGridView

public readonly BindingList<Target> Targets = new BindingList<Target>();
private void BindControls()
{
var source = new BindingSource(Targets, null);
targetsDataGridView.DataSource = source;
historyTextBox.DataBindings.Add(
new Binding("Text", source, "HistoryText", true)
);
}

我的对象(Target(实现INotifyPropertyChanged,并在数据发生更改时显示这些更改。

我的目标对象中的一个属性是HistoryText,它太大了,无法在网格中显示,所以我在它下面添加了一个textBox

如何使用绑定来显示网格中当前选定行中一列的值。我尝试添加主细节绑定源,但看不出这种关系如何适合我的场景。如果数据来自数据集,而不是来自BindingList<Target>List<Target>,则这似乎只起作用。

由于我不希望HistoryText出现在网格中,我将Browseable属性设置为false:

[Browsable(false)] 
public string HistoryText => string.Join(Environment.NewLine, from r in History select r.ToString());

删除它解决了问题。我只是用其他方法把柱子移走。

最新更新