用于创建发票的UI

时间:2009-11-01 11:04:40

标签: c# user-interface controls custom-controls data-visualization

目前,我正在为开发票制作自定义解决方案。我已经为客户创建了多种方式来创建他们的模板(HTML,Word,LaTex)并根据他们的模板获取发票。但是,这些发票是手动生成的一方。

所以,过程是:

  • 要求创建新发票
  • 创建初步发票
  • 用户有机会进行更改(即添加,删除,更改行)
  • 创建pdf

为了清楚起见,初步发票不需要像模板那样进行格式化,但是您应该能够添加/删除/更改行,并且对于每个单元格,指示该值是否应该在最终结果中可见

我的问题是我找不到合适的方式来显示初步发票。我尝试了一个数据网格(默认,telerik,devexpress),但它太乱了。除了数据网格,我不知道我可以使用什么。

我可以最好地使用哪些控件来创建一个漂亮且可用的UI。

5 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

你的平台是什么?的WinForms? WPF?

对于使用数据网格,你究竟不喜欢什么?部分问题在于,无论您是否喜欢,您将编写数据网格 - 您实际上描述了一个数据网格的特征。如果可能的话尝试使用别人的数据网格,因为它会为你节省大量的工作。通常,第三方数据网格应该是相当可定制的,您应该能够使它看起来像你想要的那样 - 并利用内置的排序,编辑,分组等。从头开始创建类似数据网格的控件并不容易如果可能的话应该避免。

您不必拥有一个简单的巨型数据网格 - 您可以创建一个自定义控件来显示您喜欢的格式化发票,只有在发票显示表格数据的情况下才显示实时数据网格,格式化为一个组成部分发票本身。

答案 2 :(得分:1)

我正在做类似的事情,客户可以在将发票发送给客户之前编辑甚至删除发票的订单项。

他们开展业务的当前应用是WebForms Intranet应用程序,因此这是对此的扩展。因此,他们可以非常轻松地添加/删除/编辑行。

但是叶戈尔是对的。无论你做什么,你基本上都在谈论数据网格。我认为你想要一些“更干净”,更直观的东西?

简单是困难的。

答案 3 :(得分:1)

此类事件的典型UI范例是将其视为两个独立的问题:为用户提供查看他可以修改的元素的方法,并使他能够修改任何特定元素。您可以使用列表控件(ListBoxListView,如果元素按层次组织或需要按类别分组,则可以使用TreeView来显示元素,然后当用户选择元素该程序提供了字段名称和可编辑值控件的表格表示。

基本上,您将程序的功能分为两类:用户想要对行执行的操作(添加,删除,重新排序,选择)以及用户想要对所选行的元素执行的操作。

如果您使用DataGridView,可以将这两组功能合二为一,但正如您所看到的那样,如果您正在编辑的元素有任何复杂性,那么这些功能会变得非常难看。

两种可能的方法:属性表范例(选择对象,右键单击,选择“属性”,在模态对话框中编辑值),或窗口分为两个面板的范例,其中一个是行和另一个是当前所选行的详细信息。还有很多其他的。

答案 4 :(得分:0)

我会看看那里已有的东西,特别是发票,看看他们是怎么做的。

不确定您的公司有多大,但是利用大型公司应用程序和用户界面从不会受到伤害,为用户界面设计和测试注入数千/数百万美元。

我会看看下面的任何一个(大多数提供免费试用,或者只是尝试搜索截图):

只是一些想法......希望这有帮助!