国家  china

TextControl 文字处理控件:重新开始编号

TextControl 文字处理控件 提供了几乎所有格式选项。使用ListFormatDialog,可以调整编号列表中的所有格式属性。并且允许用户重新启动编号列表,以使列表已从启始值重新开始。 [更多...]

你知道Xamarin.Forms吗?

Xamarin.Forms是一个API,允许C#开发者使用一个简单的方法开发跨平台应用程序。Xamarin.Forms允许用户在他们的应用程序中创建代表一个单独屏幕的页面,在这些页面上,用户可以添加控件,如按钮、文本框、列表等。这些控件可与一个共享的C#后端连接,当应用程序运行时,前端可以映射到iOS、Android和Windows Phone指定的本地用户界面元素。此开发模式独立于任意特定的平台,因此你使用C#写一次代码,就可创建iOS、Android和Windows Phone上的应用程序。 [更多...]

C1FlexGrid:在排序列上绘制排序符号

在上篇文章C1FlexGrid DataMap列自定义排序:中,我们讲述了在C1FlexGrid设置DataMap列后,如何自定义排序。 本文就在此基础上,介绍如何按自己的规则绘制排序符号。 排序的时候,列依靠排序顺序来进行值排序。因此,你需要根据排序的顺序,给列添加新的排序符号。 这就需要使用C1FlexGrid的OwnerDraw事件,比较容易的绘制符号。当单元格重画的时候,这个事件就会被触发。 首先,在Form初始化的时候,设置ShowSortPosition为None,并设置DrawMode为OwnerDraw。这样子就放弃原本Sort符号,改由OwnerDraw来画。 然后,在OwnerDraw事件里,我们根据排序顺序绘制符号图像在header cell上。 [更多...]

C1FlexGrid DataMap列自定义排序

我们使用C1Flexgrid的DataMap属性在列设置单元格的值和展示值相关联, 并排序,这个时候的排序,是基于实际的值,例如:关键值。 有些客户需要基于展示值对列进行排序,本文就介绍如何实现这个需求。 首先,我们需要绑定C1Flexgrid到数据源。 保存Northwind数据源的Products数据表,然后创建两个Dictionary对象,可以设置SupplierID列和CategoryID 列的DataMap属性。 下面代码展示CompanyName替代SupplierID和CategoryName替代CategoryID。 [更多...]

WPF平台的C1DocumentViewer自定义打印对话���

当使用C1DocumentViewer在物理打印机上横向打印文档,它总是保持原来的竖向打印。只能在打印对话框中手动的选择打印方向,这样改变方向。之所以会这样,主要是因为它继承于MS DocumentViewer而且当单击打印按钮弹出的打印对话框,并没有选项去自定义默认的打印对话框。然而,在XPS打印机打印的时候没有问题。 本文讨论上述问题的背景。对于此类问题的解决方案,就是手动处理C1DocumentViewer 的click事件,和创建需要设置的自定义打印对话框。为此,添加一个事件给默认的打印按钮,你也可以编辑默认的模板和继承控件添加事件处理需求。 [更多...]

在WPF平台绑定C1Report到Collection数据源

本文结合C1ReportDesigner设计器,讲述了如何在WPF平台下简单的绑定C1Report到ObservableCollection数据源。 具体的步骤如下所示: 1. 创建报表定义文件 2.定义集合对象数据源 3.导入报表和分配数据源 [更多...]

Spread for ASP.NET 表格控件:CallBack 方法解析

Spread for ASP.NET 表格控件在前台提供了 Callback 方法用于调用后台 Command 事件,通过这个事件我们就可以根据前台的用户行为调用后台的 Spread 丰富的接口去操作 Spread。论坛中也有很多用户询问,因此在本篇文章中记录下使用方法。

本篇文章中我们以捕获前台用户鼠标单击事件为例进行功能描述。

1.后台添加Cell的 onclick 事件:

Spread 表格控件渲染到前台后是以 HTML Table 进行展示的。 [更多...]