如何将 List<T> 绑定到表单上的相关文本框?
How can I bind a List<T> to relevant text boxes on a form?
我有以下 类:
public class TemplateTestLine
{
public int Id { get; set; }
public string Description { get; set; }
public string Hyperlink { get; set; }
public int NumOfReadings { get; set; }
public UnitOfMeasure UnitOfMeasure { get; set; } = new UnitOfMeasure();
public MethodOfInput MethodOfInput { get; set; } = new MethodOfInput();
public bool Alarm { get; set; }
public bool Signature { get; set; }
public List<TemplateReading> Readings { get; set; } = new List<TemplateReading>();
}
public class TemplateReading
{
public int Id { get; set; }
public int TestLineId { get; set; }
public int ReadingTypeId { get; set; }
public string Value { get; set; }
}
在我的数据库中,我有许多阅读类型,它们与 ReadingTypeId
相关...
Id Description
----------------
1 Distance Between Readings
2 Readings Target Min
3 Readings Target Max
4 Max Difference Between Readings
5 Tolerance Between Jumps
6 Straightness Max Difference Between Readings
7 Straightness Tolerance Between Jumps
8 Straightness Target Min
9 Straightness Target Max
10 Readings Tolerance Min
11 Readings Tolerance Max
12 Straightness Tolerance Min
13 Straightness Tolerance Max
要创建或编辑 TemplateTestLine
,我有一个带有输入(主要是文本框)的表单,我想将其绑定到传递给表单的 TemplateTestLine
对象。因此,每个主要属性有 7 个(使用 'Advanced DataBinding Editor' 很容易绑定),加上 List<TemplateReading>
的 13 个文本框,如下所示...
所以我的问题是....
我如何绑定表格上的读数文本框,以便当我将 TemplateTestLine
传递给表格时,List<TemplateReading>
使用 Value
属性?
可以从 'Advanced Binding Editor' 完成吗?还是我需要忘记它并提出编码解决方案?
提前致谢。
要关闭这个问题,@Jimi 在评论中的解决方案非常有效:
“将列表中对象之一的 属性 绑定到相关 TextBox 的文本 属性 非常简单”
[TextBox].DataBindings.Add("Text", [TemplateTestLine Instance].Readings.Single(r => r.ReadingTypeId == 1), "Value", false, DataSourceUpdateMode.OnPropertyChanged);
谢谢
我有以下 类:
public class TemplateTestLine
{
public int Id { get; set; }
public string Description { get; set; }
public string Hyperlink { get; set; }
public int NumOfReadings { get; set; }
public UnitOfMeasure UnitOfMeasure { get; set; } = new UnitOfMeasure();
public MethodOfInput MethodOfInput { get; set; } = new MethodOfInput();
public bool Alarm { get; set; }
public bool Signature { get; set; }
public List<TemplateReading> Readings { get; set; } = new List<TemplateReading>();
}
public class TemplateReading
{
public int Id { get; set; }
public int TestLineId { get; set; }
public int ReadingTypeId { get; set; }
public string Value { get; set; }
}
在我的数据库中,我有许多阅读类型,它们与 ReadingTypeId
相关...
Id Description
----------------
1 Distance Between Readings
2 Readings Target Min
3 Readings Target Max
4 Max Difference Between Readings
5 Tolerance Between Jumps
6 Straightness Max Difference Between Readings
7 Straightness Tolerance Between Jumps
8 Straightness Target Min
9 Straightness Target Max
10 Readings Tolerance Min
11 Readings Tolerance Max
12 Straightness Tolerance Min
13 Straightness Tolerance Max
要创建或编辑 TemplateTestLine
,我有一个带有输入(主要是文本框)的表单,我想将其绑定到传递给表单的 TemplateTestLine
对象。因此,每个主要属性有 7 个(使用 'Advanced DataBinding Editor' 很容易绑定),加上 List<TemplateReading>
的 13 个文本框,如下所示...
所以我的问题是....
我如何绑定表格上的读数文本框,以便当我将 TemplateTestLine
传递给表格时,List<TemplateReading>
使用 Value
属性?
可以从 'Advanced Binding Editor' 完成吗?还是我需要忘记它并提出编码解决方案?
提前致谢。
要关闭这个问题,@Jimi 在评论中的解决方案非常有效:
“将列表中对象之一的 属性 绑定到相关 TextBox 的文本 属性 非常简单”
[TextBox].DataBindings.Add("Text", [TemplateTestLine Instance].Readings.Single(r => r.ReadingTypeId == 1), "Value", false, DataSourceUpdateMode.OnPropertyChanged);
谢谢