将Windows窗体数据网格正确绑定到数组

时间:2009-02-13 01:39:19

标签: c# winforms datagrid .net-1.1

我正在尝试使用Windows窗体数据网格(.NET 1.1)来更新二维数组的元素。使用microsoft文档,我已经能够使datagrid正确显示数组。

编辑:我遵循的MS说明是http://support.microsoft.com/kb/315786

class myrow {
   private int a, b;
   public int A {get { return a; } set {a = value;}}
   public int B {get { return b; } set {b = value;}}
}

myrow[] myRows = new myrow[5] {
    new myrow(3,2),
    new myrow(2,2),
    new myrow(1,2),
    new myrow(3,3),
    new myrow(3,1),
}

myDataGrid.SetDataBinding(myRows, "");

我还将DataGrid的TableStyle.MappingName属性设置为"myrow[]"

令我发疯的是我无法更新它。我在表单上的单元格中输入一个新值,比如“1123”,然后点击Enter或tab,光标移动到下一个单元格,值将变回原始值。

如何才能获取更新?

4 个答案:

答案 0 :(得分:0)

这不是我的首要问题,但我认为你需要实现一个在更改网格单元格或单击更新按钮时触发的事件。

答案 1 :(得分:0)

不幸的是我无法检查它是否支持.NET 1.1,但是对于替换DataGrid的.NET 2.0控件DataGridView,不需要手动更新数据源。

希望这会以某种方式帮助你。

答案 2 :(得分:0)

有一种解决方法,如果将数组更改为ArrayList或其他集合类,则更新可以正常工作。

不是一个真正的答案,因为它仍然没有使用对象数组,但仍然不适合常规的2D数据数组。

答案 3 :(得分:0)

在我的头顶,我认为你需要...... 升级到更新版本的Visual Studio。