我想将一个DataGrid添加到窗体。程序执行时,用户输入值并在问题中使用这些值。对于有两列的表格,我需要一个类似的实现,当用户输入值时,我将它们用于程序中的计算。如何在C#中创建DataGrid?
没有要求将这些值保存到数据库,他们只是将在程序中使用。
如何在C#中执行此操作?
我想将一个DataGrid添加到窗体。程序执行时,用户输入值并在问题中使用这些值。对于有两列的表格,我需要一个类似的实现,当用户输入值时,我将它们用于程序中的计算。如何在C#中创建DataGrid?
没有要求将这些值保存到数据库,他们只是将在程序中使用。
如何在C#中执行此操作?
在winforms环境中,可以将强类型集合绑定为数据源;集合中对象的每个属性都会生成一列(严格地说,我认为它可以找出集合返回的类型的属性,而不是其中的单个项)
如果您正在编写WinForms应用程序,则您可以使用DataTable来存储数据,并使用DataGridView来显示它。只需创建数据表:
dataTable = new DataTable();
创建列,你需要编程:
var columnSpec = new DataColumn();
columSpec.DataType = typeof(decimal); // If it holds a decimal
columSpec.ColumnName = "Interest Rate";
dataTable.Columns.Add(columnSpec);
使用设计在DataGridView添加到窗体 - 但一旦表已经将其绑定创建不要再到网格使用:
dataGridView.DataSource = dataTable;
您可以从设计器视图设置网格的属性。
我在一个只读的情况下完成了这个工作,其中DataTable从程序中填充并显示出来。所有用户可以做的是调整大小,重新排序或设置列的可见性。要添加你需要挂接到RowsAdded
事件
重新措辞罗兰肖
新行,您不必为绑定到DataGrid的数据库。如果您将数据填充到强类型或泛型集合中,则可以将数据网格绑定到集合。 datagrid将填充集合中的数据。
它将采用属性名称作为列,行将按集合中的行显示。
如果你想用户输入,那么我认为你应该考虑使用更好的网格控件。数据网格不适合于此目的。我不记得flexgrid(ocx之一)是否已经重做.Net。
您可以使用datagridview并构建数据表并通过代码添加列,并将datagridview的数据源设置为此数据表,并将Dataggridview的属性窗口中的AllowUserToAddRows设置为true(true为默认值)。
如果您想在完成ro更新之后进行计算,那么您可以使用RowPrePaint事件,或者如果您希望在每个单元格中的数据得到更新之后进行计算,那么您可以使用CurrentCellChanged事件datagridview的。
希望这会有所帮助....
你可以给你的问题更多的解释。你使用Windows应用程序来做到这一点? – rahul 2009-04-09 09:53:39