Datawindow.net 系列五

Datawindow.net 系列一 最近接触到Datawindows.net,简单介绍一下什么是Datawindow.net? 参考:http://www.it.com.cn/f/edu/0410/12/33896.htmSybase近日宣布推出适用于任何.NET环境的功能强大的新型开发工具DataWindow.NET,该项技术简化并加快了包括富客户和智能客户在内的数据驱动企业级应用。Sybase DataWindow.NE 阅读详情
系列 五--讲述page的分页
可以看看实现的效果图
CheckBox:Show Page Info------show or hide Page total information
DropDownList:Place-----show page navigation top , bottom or topbottom
ChekBox:Image Navigation---determine whether use arrow image or not
DropDownList:Page Type----determine use whick page navigation :NextPrev,NextPrevWithQuickGo,Numeric, NumericWithQuickGo, QuickGo
DropDownList:Goto Page Type:---quick go type:edit or dropdownlist(hide)

aspx code:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="demo002.aspx.cs" Inherits="itwms.page.demo002" %>
<%@ Register Assembly="WebDataWindow" Namespace="Sybase.DataWindow.Web" TagPrefix="dw" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>DataWindow.Net Page Demo</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Label ID="typeLabel" runat="server" Text="Page Type:" Width="77px" style="z-index: 100; left: 8px; overflow: auto; position: absolute; top: 76px;"></asp:Label>
        <asp:Label ID="gotoPageTypeLabel" runat="server" Style="z-index: 100; left: 8px; overflow: auto;
            position: absolute; top: 100px" Text="GoTo Page Type:" Width="122px" Visible="False"></asp:Label>
        <asp:Label ID="placeLabel" runat="server" Style="z-index: 100; left: 8px; overflow: auto;
            position: absolute; top: 29px" Text="Place:" Width="83px"></asp:Label>
        &nbsp;
        <div style="width: 860px; height: 323px; z-index: 100; left: 14px; overflow: auto; position: absolute; top: 130px;">
        <dw:WebDataWindowControl ID="webDWcntrl" runat="server" DataWindowObject="dw_cust_grid" Height="291px" LibraryList="~/page/northwind.pbl" Width="824px" AutoRestoreDataCache="True" AutoSaveDataCacheAfterRetrieve="True" PagingMethod="Callback" RowsPerPage="10" Visible="False">
            <PageNavigationBarSettings Visible="True">
                <BarStyle Font-Names="Verdana" Font-Size="Medium" />
            </PageNavigationBarSettings>
        </dw:WebDataWindowControl>
        </div>
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Generate" style="z-index: 100; left: 787px; overflow: auto; position: absolute; top: 15px;" />
        <asp:CheckBox ID="imageCheckBox" runat="server" style="z-index: 100; left: 99px; overflow: auto; position: absolute; top: 53px;" Text="Image Navigation" Width="174px" />
        &nbsp;
        <asp:CheckBox ID="pageInfoCheckBox" runat="server" style="z-index: 100; left: 99px; overflow: auto; position: absolute; top: 5px;" Text="Show Page Info" Width="176px" />
        <asp:DropDownList ID="placeDropDownList" runat="server" style="z-index: 100; left: 99px; overflow: auto; position: absolute; top: 28px;" Width="176px" >
            <asp:ListItem>Top</asp:ListItem>
            <asp:ListItem>Bottom</asp:ListItem>
            <asp:ListItem>TopBottom</asp:ListItem>
        </asp:DropDownList>
        <asp:DropDownList ID="typeDropDownList" runat="server" style="z-index: 100; left: 99px; overflow: auto; position: absolute; top: 76px;" Width="176px" OnSelectedIndexChanged="typeDropDownList_SelectedIndexChanged" AutoPostBack="True" >
            <asp:ListItem Selected="True">NextPrev</asp:ListItem>
            <asp:ListItem>NextPrevWithQuickGo</asp:ListItem>
            <asp:ListItem>Numeric</asp:ListItem>
            <asp:ListItem>NumericWithQuickGo</asp:ListItem>
            <asp:ListItem>QuickGo</asp:ListItem>
        </asp:DropDownList>
        &nbsp;
        <asp:DropDownList ID="gotoPageTypeDropDownList" runat="server" style="z-index: 100; left: 134px; overflow: auto; position: absolute; top: 100px;" Width="176px" OnSelectedIndexChanged="typeDropDownList_SelectedIndexChanged" AutoPostBack="True" Visible="False" >
            <asp:ListItem>Edit</asp:ListItem>
            <asp:ListItem>DropDowList</asp:ListItem>
        </asp:DropDownList></div>
    </form>
</body>
</html>
cs code:


using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace itwms.page
{
    public partial class demo002 : System.Web.UI.Page
    {
        private Sybase.DataWindow.Transaction Trans;
        private System.ComponentModel.IContainer container;
        protected void Page_Load(object sender, EventArgs e)
        {
            InitializeComponent();
            //if (!IsPostBack)
            //{
            //    Trans.Connect();
            //    webDWcntrl.SetTransaction(Trans);
            //    webDWcntrl.Retrieve();
            //}
        }
        private void InitializeComponent()
        {
            container = new System.ComponentModel.Container();
            Trans = new Sybase.DataWindow.Transaction(container);
            Trans.Dbms = Sybase.DataWindow.DbmsType.OleDb;
            Trans.Password = "password";
            Trans.UserId = "sa";
            Trans.AutoCommit = false;
            Trans.Lock = "RC";
            Trans.DbParameter = "PROVIDER='SQLOLEDB',DATASOURCE='server',PROVIDERSTRING='database=Northwind'";
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            webDWcntrl.Visible = true;
            Trans.Connect();
            webDWcntrl.SetTransaction(Trans);
            webDWcntrl.Retrieve();
            setProperties();
        }
        private void setProperties()
        {
            if (pageInfoCheckBox.Checked)
            {
                webDWcntrl.PageNavigationBarSettings.PageStatusInfo.Visible = true;
                webDWcntrl.PageNavigationBarSettings.PageStatusInfo.Position = Sybase.DataWindow.Web.PageStatusInfoPosition.Right;
            }
            else
            {
                webDWcntrl.PageNavigationBarSettings.PageStatusInfo.Visible = false;
            }
            switch (placeDropDownList.SelectedIndex)
            {
                case 0:
                    webDWcntrl.PageNavigationBarSettings.Position = Sybase.DataWindow.Web.NavigationBarPosition.Top;
                    break;
                case 1:
                    webDWcntrl.PageNavigationBarSettings.Position = Sybase.DataWindow.Web.NavigationBarPosition.Bottom;
                    break;
                case 2:
                    webDWcntrl.PageNavigationBarSettings.Position = Sybase.DataWindow.Web.NavigationBarPosition.TopAndBottom;
                    break;
                default:
                    goto case 1;
            }
            if (imageCheckBox.Checked)
            {
                webDWcntrl.PageNavigationBarSettings.NextPrevNavigator.FirstPageImageUrl = Page.Server.MapPath("../image/PageFirst.gif");
                webDWcntrl.PageNavigationBarSettings.NextPrevNavigator.PrevPageImageUrl = Page.Server.MapPath("../image/PagePrior.gif");
                webDWcntrl.PageNavigationBarSettings.NextPrevNavigator.NextPageImageUrl = Page.Server.MapPath("../image/PageNext.gif");
                webDWcntrl.PageNavigationBarSettings.NextPrevNavigator.LastPageImageUrl = Page.Server.MapPath("../image/PageLast.gif");
            }
            else
            {
                webDWcntrl.PageNavigationBarSettings.NextPrevNavigator.FirstPageImageUrl = "";
                webDWcntrl.PageNavigationBarSettings.NextPrevNavigator.PrevPageImageUrl = "";
                webDWcntrl.PageNavigationBarSettings.NextPrevNavigator.NextPageImageUrl = "";
                webDWcntrl.PageNavigationBarSettings.NextPrevNavigator.LastPageImageUrl = "";
            }
            switch (typeDropDownList.SelectedIndex)
            {
                case 0:
                    webDWcntrl.PageNavigationBarSettings.NavigatorType = Sybase.DataWindow.Web.PageNavigatorType.NextPrev;
                    break;
                case 1:
                    webDWcntrl.PageNavigationBarSettings.NavigatorType = Sybase.DataWindow.Web.PageNavigatorType.NextPrevWithQuickGo;
                    break;
                case 2:
                    webDWcntrl.PageNavigationBarSettings.NavigatorType = Sybase.DataWindow.Web.PageNavigatorType.Numeric;
                    break;
                case 3:
                    webDWcntrl.PageNavigationBarSettings.NavigatorType = Sybase.DataWindow.Web.PageNavigatorType.NumericWithQuickGo;
                    break;
                case 4:
                    webDWcntrl.PageNavigationBarSettings.NavigatorType = Sybase.DataWindow.Web.PageNavigatorType.QuickGo;
                    break;
                default:
                    goto case 0;
            }
            if (typeDropDownList.SelectedIndex.Equals(4))
            {
                switch (gotoPageTypeDropDownList.SelectedIndex)
                {
                    case 0:
                        webDWcntrl.PageNavigationBarSettings.QuickGoNavigator.Type = Sybase.DataWindow.Web.QuickGoPageNavigatorType.Edit;
                        break;
                    case 1:
                        webDWcntrl.PageNavigationBarSettings.QuickGoNavigator.Type = Sybase.DataWindow.Web.QuickGoPageNavigatorType.DropDownList;
                        break;
                }
            }
        }
        protected void typeDropDownList_SelectedIndexChanged(object sender, EventArgs e)
        {
            imageCheckBox.Visible = true;
            switch (typeDropDownList.SelectedIndex)
            {
                case 2:
                    goto case 3;
                case 4:
                    gotoPageTypeDropDownList.Visible = true;
                    gotoPageTypeLabel.Visible = true;
                    goto case 3;
                case 3:
                    imageCheckBox.Checked = false;
                    imageCheckBox.Visible = false;
                    break;
            }
        }
    }
}

当然这些,是通过code实现的,因为我为了页面实现多种分页方式,下面介绍一下,属性设置某一种分页方式:
如图:
我们可以随意设置,几个需要强调的地方:
a,RowsPerPage不能为0;
b,各自对应的visible不要忘记;
Datawindow.net 系列二 Datawindow.Net version 2.0使用概要 1. 安装 先安装.net2005 ,框架版本2.0,然后安装DataWindow.Net 2.0组件及设计编译环境。 安装后在.net2005窗体设计时会出现Sybase DataWindow控件页签。 2. 使用 DataWindow控件可以直接在C#窗体中使用。3. 设计DataWindow 在PB或DataWindow 阅读详情

相关推荐

Datawindow.net 系列三

 经过上面系列一,二的讲解,相信朋友们,对Datawindow.net有了初步的认识,本系列三,从datawindow.net的配套的一个datawindow Designer入手,讲解。我们使用datawindow.net的初终,就是基于其强大的datawindow处理,所以datawindow designer的使用,是必须的!前面使用的pbl文件,就是有其设计的。如果你使用过pb,特别是

IT 5933

DataWindow.Net组件示例(全部开源)

https://cloud.tencent.com/developer/column/1893 https://cloud.tencent.com/developer/article/1034557 https://cloud.tencent.com/developer/article/1034561 https://www.cnblogs.com/huanggc/archive/2009/07/15/1523743.html

happymagic的专栏 405

Datawindow.net 系列四

本题旨在解决Datawindow.net 系列一 中提到的,vs2.0 web 应用程序,不支持datawindow.net 2.0的问题,解决方法如下:解决方案资源管理器/引用,右击,添加引用/浏览, 选择如下四个文件:Sybase.PowerBuilder.Db.dllWebDataWindow.dllDataWindow.dllDataWindowInterop.dll

IT 4828

C#中使Datawindow.Net组件处理数据

1. 安装先安装.net2003 ,框架版本1.1,然后安装DataWindow.Net组件及设计编译环境。安装后在.net2003窗体设计时会出现Sybase DataWindow控件页签。2. 使用DataWindow控件可以直接在C#窗体中使用。3. 设计DataWindow在PB或DataWindow设计环境中设计数据窗,并存到.pbl中,供程序调用。发布后可以编译成.pbd文件格式。4.

.NET爱好者--小桥流水人家 1788

在.NET中调用DataWindow操作数据库

                          在.NET中调用DataWindow操作数据库       Sybase在2004/1/19日推出了Pb 10 beta1版本,其中包含DataWindow.NET 1.0,这真是一个另人兴奋的消息! 在PB市场日益萎缩的今天,在.NET大行其道的今天Sybase公司终于推出了DataWindow.NET,它支持DataWindow绝大部份原

Dibov的专栏 1851

datawindow.net 2.5

datawindow.net 2.5 安装程序很老得一款Sysbase 控件,最后一独立版本有需要的下载

DataWindow.Net V2.5原始文件下载

DW2.5 原始安装程序下载 http://download.sybase.com/eval/datawindowNET_25_eval/CD50090-55-0250-01.zip 转载于:https://www.cnblogs.com/Veky/p/3256036.html

weixin_30416497的博客 791

DataWindow .Net 2.5 9097 完美破解补丁

先安裝datawindow .net 2.5 然后下载9097 EBF包,升级后,COPY附档补丁至安裝目录下. http://origin1.sybase.com/swx/13991/EBF18212.zip

C# 中使用pb的dataWindow

首先下载dataWindow.net 后安装

ˉ-_lishk_-ˉ 2523

【spark源码修改】hive3.1.3 spark3.5.4编译,需要修改源码,最终编译成功

【spark源码修改】hive3.1.3 spark3.5.4编译,需要修改源码,最终编译成功,附带问题分析详细过程

spark_dev的博客 1912

ROS激光雷达动态避障算法优化(C++实战)

本文深入探讨了ROS激光雷达动态避障算法的C++实战优化。针对动态环境的核心挑战,文章系统性地介绍了从激光数据预处理(降噪、瘦身)、动态障碍物检测与跟踪,到基于动态窗口法(DWA)的智能决策与调优的全流程。重点分享了如何将障碍物速度预测融入DWA打分函数,以实现更安全、流畅的避障,并提供了工程架构、性能优化及真机调试的实用建议。

weixin_29192141的博客 946

DataWindow.net应用介绍(一)

Datawindow中文译名为数据窗口,是开发工具PowerBuilder(PB)的一个王牌组件,使用PB作为开发工具的,基本上都是冲着Datawindow 来的,它不仅可以用来显示数据,还可以实现数据录入、报表打印等功能,是Sybase 的专利技术,功能非常强大。Sybase从PB10.0开始,为了使PB开发的应用可以支持.Net,就开发出来了DataWindow.net组件,可以...

weixin_30888413的博客 424

Ubuntu终端接入Codex:一行脚本搞定AI编程助手安装与配置

在开发者日常工作中,命令行终端是最高频的操作环境,而AI编程助手的出现正在改变传统的编码方式。通过将大模型能力与终端工具链结合,开发者无需切换窗口即可完成命令查询、代码生成、项目理解和自动执行等任务。Ubuntu作为服务器和开发机的主流系统,搭配Node.js生态和API Key认证,即可在本地闭环运行AI助手。本文从环境准备、密钥配置、权限管理到自动化脚本封装,系统拆解在终端中接入Codex的完整流程,并分享高频用法与实测排障经验,帮助开发者安全、高效地让AI融入命令行工作流。

weixin_29061041的博客 322

Datawindow.net 系列八

 先给大家一个参考学习的连接http://objectsharp.com/cs/blogs/dave/category/86.aspxhttp://www.sybase.com/products/development/datawindownetdownload evaluation:I.DataWindow .NET v2.5 Evaluation Edition(DataWindo

IT 4334

Visual Studio 2022与Qt集成实战:解决Qt.props导入错误的完整指南

本文详细解析了在Visual Studio 2022中集成Qt开发时,如何解决因Qt.props文件导入失败导致的编译错误。文章从问题根源入手,深入剖析了Qt.props文件与QtMsBuild环境变量的关系,并提供了从检查文件存在性、配置环境变量到直接修改项目文件路径的完整排查与修复方案,帮助开发者快速恢复项目构建。

wdx01234567的博客 675

Rockchip平台Android相机HAL3开发实战:从配置到调试全流程解析

本文深入解析了Rockchip平台Android相机HAL3的开发全流程。从理解AAL与PSL核心架构、解析关键配置文件(如camera3_profiles.xml和Tuning文件),到搭建编译环境、进行增量部署,并提供了系统日志分析、V4L2调试等高级问题排查技巧,为开发者提供了一套从配置到调试的实战指南。

docker7nomad的博客 844

Datawindow.net 系列九

本文中使用了Datawindow.net2.5:datawindow.net在vs2.5中,保存数据,很像pb,使用UpdateData就可以了,对于使用过pb的人来说,还是非常方便的。UpdateData(true,true);同时export各种format的文件,也是非常方便的dw.SaveAs(@"c:/" + DateTime.Now.ToString("yyyy

IT 4584

C++多线程 task--std::promise和std::future

本文主要讲解C++11/14/17中所提供的应用于多线程编程中的Task机制。Task可由如下几部分取得而本文主要讲解std::promise和std::future相关的内容。std::promise和std::future通过一个数据管道进行交流,可以将std::promise看作生产者,std::future看作消费者,其两者形成如下的方式交互std::promise本身是一个模版类,通过std::promise可以像数据管道中设置value,异常和相应的通知信息。std::promise提供了如下接

qls315的博客 1818

Datawindow.net 系列六

这几天,一直在测试datawindow.net 2.0+vs2..5共用的问题,觉得总体还不错,虽然已经发布到v2.0,v2.5也已经到评估阶段,另我不满意的就是,参考资料,确实太少,很多问题,都要自己测试,总结,也坚定了我把这个系列写下去的决心,方便后来的新手,能入门更快一些。以上5个系列的简述,也是我测试的过程,属于边测试边总结吧。本系列的测试环境为:vs2.0+sql server

IT 4241

rk3576 适配以太网(百兆)

百兆以太网,也常被称为快速以太网,是一种在1990年代中期推出的计算机网络技术标准。它相当于把当时主流的10兆以太网速度提升了10倍,最高能提供 100 Mbps 的传输速率,让文件共享、视频传输等网络应用变得流畅许多。它在数据链路层面完全保留了传统以太网的帧格式和MAC机制,这意味着现有的网络软件可以无缝对接,用户从10兆网络升级到百兆网络时,通常只需要更换网卡和集线器/交换机即可,非常方便。 在rk3576平台上,原生以太网接口支持百兆、千兆,还有pcie转换的2.5G。

weixin_35723192的博客 204

UI自动化控制PC端微信获取当前群聊的群友列表

在一个月前,某个群友在获取整个群的群友信息时遇到了一点问题: 对整个群进行群友数据获取经测试确实有点棘手,下面我将我的解决过程公布给大家。 基础教程详见: https://blog.csdn.net/as604049322/article/details/121391639 人工打开要抓取的群聊窗口后,首先获取微信窗口并点击聊天信息按钮: import uiautomation as auto auto.uiautomation.SetGlobalSearchTimeout(1) wechatWind

小小明-代码实体的专栏 3万+

DataWindow.net应用介绍

Datawindow中文译名为数据窗口,是开发工具PowerBuilder(PB)的一个王牌组件,使用PB作为开发工具的,基本上都是冲着Datawindow 来的,它不仅可以用来显示数据,还可以实现数据录入、报表打印等功能,是Sybase 的专利技术,功能非常强大。Sybase从PB10.0开始,为了使PB开发的应用可以支持.Net,就开发出来了DataWindow.net组件,可以在.net的...

huang714的专栏 1599

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

DataWindow .NET 2.5 工作在 VS 2008的问题

1、在VS2008中无法使用DataWindow .NET 2.5在VS2005的插件面板DataWindow .NET 2.5 安装过程三个dll注册失败(DWPrj.dll、DWPainter.dll、 QryPainter.dll)安装完成后在VS2008中无法打开相应面板。2、在VS2008中单独使用DataWindow Designer  2.5无法得到sybase支持D

不愿放弃的专栏 3265

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

伟大的解决方案—DataWindow.Net(一)

伟大的解决方案—DataWindow.Net作者:Teyy Burns terry@vbug.co.uk Graham Parker grahamp@vbug.co.ukVBUG(Http://www.vbug.co.uk)绪论 Sybase公司的DataWindow专利技术已经从PowerBuilder中扩展到Microsoft .Net FrameWork

ldy的专栏 2068

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

上一篇: Datawindow.net 系列四
下一篇: Datawindow.net 系列六
FollowIT
博客等级 码龄21年 31粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值