收藏订阅
通过报表生成器List & Label,程序开发人员只需编写几行代码便可以在他们自己的程序中添加报表,窗体,列表,对话框,标签,邮件续传,输出函数等内容。该设计器可以自由发布到软件的最终用户,而无须更多的授权花费。
List & Label 16-为软件开发者们提供的强大报表工具
List & Label报表组件的应用领域
用户只需添加数行代码即可为其应用程序增强功能,可包含以下功能:报表,子报表,简单列表,多表单,交叉表,图表,表格,标签,打印,预览,导出以及Web报表。
不同版本以适应不同需求
企业版:包含支持与订阅,web服务器授权等 专业版:包含支持以及订阅 标准版:包含终端用户设计器,不包含支持 免费版:不包含设计器,输出中包含水印,仅支持英文
是什么让List & Label报表工具与众不同?
标准版,专业版以及企业版中均包含了终端用户设计器
有了List & Label Report Designer,用户即可快速便捷的为其应用程序增加一些强大的功能。用户无需为之支付后续费用即可在大部分的桌面应用程序之间传递使用,其企业版还包含了用于服务器的运行时授权。
灵活性与全局控制
广受赞誉
List & Label已经过17年的不停完善和更新,目前已经拥有全球众多忠实的客户,并在业界多次获得好评。
快速集成
总共只需五分钟,共计三步即可在.NET中完成:将组件拖曳至窗体中;设置智能标签属性;开始打印或设计。
易于再发布
终端用户无需安装数据库驱动,分发非常简单,且安装包相当方便快捷,甚至只需要20MB的存储空间即可!
选择开发环境
改变编程语言以适应开发者的项目—这压根就不是问题!其支持诸如.NET, Visual Studio, C#, C/C++, Delphi等其他编程语言。
来自德国厂商的技术支持
我们软件优异的性能来自于强大的软件开发团队,用户可快速的得到技术支持响应。
为软件开发者而生的强大报表
List & Label有别于当前市面上已存在的任何报表生成器,因为在设计之初,我们就全心关注于什么才是开发者们最需要的。所以这是一个真正意义上的开发工具!
节省时间
体积较小
应用领域
实用原则
Web Reporting示例
下面是如何使用combit List & Label网页报表的示例。 >>Web Reporting Demo
编程实例
Starting the Designer
.NET
protected void button1_Click (object sender, System.EventArgs e) { try { // Bind to a DataSet object LL.SetDataBinding(myDataSet, "Orders");
// Set Properties LL.AutoDesignerFile = "subreport.lst"; LL.AutoProjectType = LlProject.List; LL.AutoDialogTitle = "Sample"; LL.AutoShowSelectFile = true;
// Call the Designer LL.Design(); } // Catch Exceptions: catch (Exception LlException) { MessageBox.Show("Information: " + LlException.Message,"Information", MessageBox.IconInformation | MessageBox.OK); } }
Delphi
{Start the Designer} procedure TForm1.DesignButtonClick(Sender: TObject); begin //Assign data source LL.DataSource := dsCustomers;
//Pass customer data as fields LL.AutoMasterMode := mmAsFields;
//Set the default project name LL.AutoDesignerFile := 'subrep.lst';
//Switch print mode to preview LL.AutoDestination := adPreview;
//Call Designer LL.AutoDesign('Invoice List', ''); end;
C++
// Define special fields
normal text field: LlDefineFieldExt(job, "Text", "Testtext",LL_TEXT, NULL);
// Footer field, i.e. numeric: LlDefineFieldExt(job, "Subtotal", "12.34", LL_NUMERIC | LL_TABLE_FOOTERFIELD, NULL);
// Barcode field: LlDefineFieldExt(job, "BC_EAN_128", "123456789abcd", LL_BARCODE_EAN128, NULL);
// Variable graphics by file name: LlDefineFieldExt(job, "Regular Graphic","sunny.bmp", LL_DRAWING, NULL);
// File open dialog with sketch: LlSelectFileDlgTitleEx(job, hWnd, "File open", LL_PROJECT_LIST, szFile,sizeof(szFile), NULL);
// Remove a certain menu command from the Designer: LlDesignerProhibitAction(job, 211);
// Start the Designer with the above fields: LlDefineLayout(job, hWnd, "Title", LL_PROJECT_LIST, szFile);
Visual Basic
Private SubButtonDesign_Click() 'Start the Designer with the title "Invoice" and the file "invoice.rpt": ListLabel1.Design(0, hWnd, "Invoice", LL_PROJECT_LIST, "invoice.rpt", 1) End Sub
For data definition the event ListLabel1_CmndDefineFields is used.
Programming Examples Printing
private void button2_Click(object sender, System.EventArgs e) { try { // Bind to a DataSet object LL.SetDataBinding(myDataSet, "Orders");
// Set Properties LL.AutoDesignerFile = "subreport.lst"; LL.AutoProjectType = LlProject.List; LL.AutoDialogTitle = "Example"; LL.AutoShowSelectFile = true; // Start Print LL.Print(); } // Catch Exceptions: catch (Exception LlException) { MessageBox.Show("Information: " + LlException.Message,"Information", MessageBox.IconInformation | MessageBox.OK); } }
{Printing} procedure TForm1.PrintButtonClick(Sender: TObject); begin //Assign data source LL.DataSource := dsCustomers;
//Print LL.AutoDesign('Invoice List', ,); end;
//===================================== void CMainFrame::DoLabelPrint() //===================================== { // Define special fields, regular text field: LLDefineFieldExt(job, "Text", "Testtext",LL_TEXT, NULL);
// Numeric field: LLDefineVariableExt(job, "Subtotal", "12.34", LL_NUMERIC | LL_NUMERIC, NULL);
// Barcode field: LLDefineVariableExt(job, "BC_EAN_128", "123456789abcd", LL_BARCODE_EAN128, NULL);
// Variable graphic by file name: LLDefineVariableExt(job, "Graphic","sunny.bmp", LL_DRAWING, NULL);
// Start printing: LlPrintWithBoxStart(job, LL_PROJECT_LABEL, szFile, LL_PRINT_EXPORT, LL_BOXTYPE_BRIDGEMETER, hWnd, "Printing..."); //Print label: nErrorValue = LlPrint(job);
// End printing: LlPrintEnd(job,0); }
Private Sub ButtonPrint_Click()
'Print the project "test.rpt" on the printer: Data1.Recordset.MoveFirst ListLabel1.Print(0, LL_PROJECT_LIST, "test.lst",_ True, LL_PRINT_NORMAL,_ LL_BOXTYPE_NORMALWAIT, hWnd,_ "Print, True, Environ$("temp"))
End Sub
Private Sub ListLabel1_CmndDefineFields(ByVal nUserData As Long, ByVal bDummy As Long, nProgressInPerc As Long, pbLastRec As Long)
'This event is called by the commands Print and Design. 'It is called for each record to declare the fields and 'their contents to List & Label. 'Repeat for all fields of a 'record: For i = 0 To Form1.Data1.Recordset.Fields.Count - 1 content$ = Data1.Recordset.Fields(i) nRet = ListLabel1.LlDefineFieldExt _ (Data1.Recordset.Fields(i).Name,_ content$, LL_TEXT) Next i 'Skip to next record: Form1.Data1.Recordset.MoveNext 'Stop printing of last record is reached: If Form1.Data1.Recordset.EOF = True Then pbLastRec = 1 End If
List & Label's媒体评论
下面是媒体对List & Label评价的部分列举。