目前,我正在制定发票的自定义解决方案。我为客户创建了多种方式来创建他们的模板(HTML、Word、LaTex)并根据他们的模板获取发票。但是,这些发票是当事人手动生成的。
所以,过程是:
需要明确的是,初步发票不需要按照模板进行格式化,但您应该能够添加/删除/更改行,并为每个单元格指明该值是否应在最终结果中可见。
我的问题是我找不到合适的方式来显示初步发票。我尝试了一个数据网格(默认,telerik,devexpress),但它太乱了。除了数据网格,我不知道我可以使用什么。
我可以最好使用哪些控件来获得漂亮且可用的 UI。
最佳答案
这种事情的典型 UI 范式是将其视为两个独立的问题:给用户一种查看他可以修改的元素的方式,以及给他修改任何特定元素的能力。您使用列表控件( ListBox
、 ListView
,如果元素按层次组织或需要分组到类别中,则可能是 TreeView
)来呈现元素,然后当用户选择一个元素时,程序会以表格形式呈现字段名称和可编辑值控制。
基本上,您将程序的功能分为两类:用户想要对行执行的操作(添加、删除、重新排序、选择)和用户想要对所选行的元素执行的操作。
如果您使用 DataGridView
,您可以将这两组功能合并为一组,但正如您所见,如果您正在编辑的元素有任何复杂性,这将变得非常难看。
两种可能的方法:属性表范式(选择对象,右键单击,选择“属性”,在模式对话框中编辑值),或将窗口拆分为两个面板的范式,其中一个是行和另一个是当前选定行的详细信息。还有很多其他的。
关于c# - 用于创建发票的 UI,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1656884/