2010-01-10 65 views
1

我有一个雇员类(Id,名称,年龄)与几个对象。我使用ListView控件显示“员工视图”表单中的所有记录,并允许用户添加/编辑/删除这些记录。并有单独的表单来添加新记录或编辑现有的记录。 (没有数据库交互,只是有一个列表来坚持这些变化)允许自定义(添加/删除)ListView列和添加/编辑记录(WinForm)

现在,我想支持此设置(员工视图=>添加/编辑员工)与自定义数量的列(默认情况下,显示列根据我的Employee对象中的字段)。因此,如果用户想要发送更多信息(比如DoB),那么他应该能够在ListView中添加该列,添加/编辑员工表单应该为每个列显示一个适当的控件(例如DoB的DateTimePicker),以便添加/编辑所需的记录。

在此先感谢。

回答

0

从内存中标准的WinForms ListView控件不提供内置的数据绑定。我建议你最好在绑定模式下使用DataGridView。这将为您提供数据源中的字段自动显示为DataGridView中的列的功能。

DataGridView还提供内置的行编辑。这种编辑在DataGridView本身是“就地”的,所以这可能不适用于某些类型的应用程序。但是,您可以禁用就地编辑(使用ReadOnly和AllowUserToAddRows属性),并在需要时继续显示单独的添加/编辑表单。

在您的添加/编辑表单中,常见的做法是根据数据源中的字段数动态添加控件。这涉及到在代码中创建控件,设置位置和格式属性,然后将它们传递给Form.Controls.Add()。然后您可以手动填充这些字段,也可以使用Simple Data Binding

相关问题