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

所以,过程是:

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

  • 需要明确的是,初步发票不需要按照模板进行格式化,但您应该能够添加/删除/更改行,并为每个单元格指明该值是否应在最终结果中可见。

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

    我可以最好使用哪些控件来获得漂亮且可用的 UI。

    最佳答案

    这种事情的典型 UI 范式是将其视为两个独立的问题:给用户一种查看他可以修改的元素的方式,以及给他修改任何特定元素的能力。您使用列表控件( ListBoxListView ,如果元素按层次组织或需要分组到类别中,则可能是 TreeView )来呈现元素,然后当用户选择一个元素时,程序会以表格形式呈现字段名称和可编辑值控制。

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

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

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

    关于c# - 用于创建发票的 UI,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1656884/

    10-14 02:04