65.9K
CodeProject 正在变化。 阅读更多。
Home

设计支持编辑功能的移动网格控件

2010年3月8日

CPOL

4分钟阅读

viewsIcon

19937

根据移动开发者的反馈,他们需要解决几个类似的问题。其中之一就是设计一个允许收集订单并具备完整手指触摸操作的移动应用程序。

根据移动开发者的反馈,他们需要解决几个类似的问题。其中之一就是设计一个允许收集订单并具备完整手指触摸操作的移动应用程序。让我们使用 Microsoft Visual Studio 和一个带编辑功能的网格控件来设计一个满足这些要求的简化应用程序。

最终的应用程序将能够

  • 读取存储在 SQL CE Server 数据库中的订单,
  • 添加新订单,
  • 编辑订单,
  • 删除订单,
  • 将更改保存到数据库。

必备组件

您将需要:

  • Microsoft Windows Mobile 5.0 SDK(或更高版本),您可以在此处下载:此处
  • Resco MobileForms Toolkit 2010,您可以在此处下载:此处
  • 您可以使用任何 WM 设备(或模拟器)。

Resco MobileForms Toolkit 是一组专为移动设备设计的 Visual Studio 控件。在您的计算机上安装 Resco MobileForms Toolkit Volume 2010 后,这些控件将自动添加到 Visual Studio 的工具箱中。我们将在项目中使用的 Resco 控件和库如下:

  • Resco SmartGrid for .NET CF,
  • Resco AdvancedComboBox for .NET CF,
  • Resco NumericUpDown for .NET CF。

该应用程序可以为 .NET Compact Framework 2.0 和 .NET Compact Framework 3.5 创建。只需下载相应版本的 Resco MobileForms Toolkit 2010。

数据库模型

为了这个应用程序的目的,我创建了一个包含两个存储数据的表的简单数据库:Orders 和 Products。这两个表之间的关系由“ProductID”列定义。

第一个表“Orders”有四个列:

  • OrderID — 一个字符串 id(主键),存储订单的 id,
  • ProductID — 一个字符串 id,存储订单的产品的 id,
  • UnitPrice — 所选产品的单位价格,
  • Quantity — 订购产品的总数。

第二个表“Products”有五个列:

  • ProductID — 一个字符串 id(主键),存储产品的 id,
  • ProductName — 产品名称,
  • QuantityPerUnit — 描述产品的体积,
  • UnitPrice — 单位价格,
  • UnitsInStock — 库存中的产品单位。

Designing mobile grid control with edit capabilities

用户界面

该应用程序由一个 Form 对象组成——Form,其中包含订单的网格。
您需要做的所有事情,即可添加和显示数据库中的订单,就是一个名为 Resco SmartGrid for .NET CF 的控件。
之后,Resco AdvancedComboBox 和 Resco NumericUpDown 将被集成到 Resco SmartGrid 中。Resco AdvancedComboBox 用作产品选择器,而 NumericUpDown 用作产品数量选择器。

数据加载与绑定

在此应用程序中,Resco AdvancedComboBox 的 DataSource 属性绑定到对象网格,这些对象是 Products 类的实例。
Product 类包含几个与数据库表中列匹配的属性:UnitPrice、ProductID 和 ProductName。
Resco SmartGrid 的 DataSource 属性绑定到对象网格,这些对象是 Orders 类的实例。
Order 类包含几个与数据库表中列匹配的属性:ProductID、UnitPrice、Quantity 和 OrderID。
Resco NumericUpDown 绑定到 Orders 表,并编辑 Quantity 列中的值。

设计项目的模板

现在,我将为 SmartGrid 添加一个标题。标题显示列名。然后,通过单元格及其 CustomizeCell 功能,我将设计行、选定行以及向 SmartGrid 添加产品的行。CustomizeCell 功能允许设计可以添加 Resco AdvancedComboBox 和 NumericUpDown 的单元格。
要将单元格**绑定**到底层数据对象属性,只需设置其 CellSource

增强 SmartGrid

当应用程序启动时,在我这里的情况下,Orders 表中没有存储数据,将显示一个空白的 SmartGrid,其中包含一行用于添加产品的选项。

Designing mobile grid control with edit capabilities

表中的每一行都可以通过 Resco 控件进行编辑。用户可以从 AdvancedComboBox 中选择产品,并通过 Resco NumericUpDown 设置其数量。这两种控件都易于用手指操作。

Designing mobile grid control with edit capabilitiesDesigning mobile grid control with edit capabilities

Resco AdvancedComboBox 提供了许多超出本文范围的功能,例如 ImageCell、ButtonCell 等。

结论

这种应用程序为用户提供了所有重要的功能,这些功能都可通过简单的手指触摸获得。从开发者的角度来看,最重要的是以满足当前趋势的方式设计应用程序,例如手指触摸支持、直观操作、吸引人的图形设计以及数据和控件的逻辑布局。不可避免地需要使用具备这一切的第三方组件——Resco MobileForms Toolkit。

要查看 Resco 开发者如何将应用程序做到极致,请下载下面的源代码或应用程序。

  • 下载应用程序源代码并找出答案。
  • 下载应用程序(CAB 文件)。

关于Resco MobileForms Toolkit

Resco MobileForms Toolkit 是最丰富、最全面的 Microsoft Visual Studio 控件和库集之一,专为移动设备软件解决方案的开发者设计。在其产品组合中,有许多控件和库能够解决开发者在移动环境中遇到的大多数问题。例如,灵活的键盘、专业的列表控件、强大的网格控件、图表控件和计划控件——仅举最常用的例子。
有关 Resco MobileForms Toolkit 的更多信息,请访问 http://www.resco.net/developer/mobileformstoolkit/default.aspx

© . All rights reserved.