.net2005下datawindow.net2.0的简单使用
2008-09-07 21:35
232 查看
在用过C#和PB后,就一直在想这个问题,如果能把PB中强大的datawindow功能放到C#使用,则对程序的开发能有很大的帮助。当我发现Sybase公司出了可以在.net中使用的datawindow.net时,心中感到一阵高兴。这阵有空,研究了一下,终于把这个功能用上了。
操作前,请安装环境:Visual Studio .NET 2005,Datawindow.NET 2.0
具体操作如下:
1、设计要使用的datawindow
A、打开DataWindow Designer(DataWindow设计器),新建一项目,如:test.dwp(此操作在默认情况下会自动生成一个对应项目名称的pbl文件,此处为:test.pbl)
B、建一数据库连接,我这儿是sql server2000,建数据连接时,我选择的是[ADO Microsoft ADO.NET],选择[New...]按钮,建立过程与PB中建数据连接一样:
在Connection 页面:
Profile Name: LocalSql //数据链接名,可自行设置
Namespace: System.Data.SqlClient // 可选择合适的连接数据要用的命名空间
Data Source: (local)
User ID: sa
Password: hospital_1
Database: hospital
设置完后,可以切换到Preview页面中,通过选择[Test Connection]测试所做的参数设置是否正确。然后选择[OK]
C、新建datawindow对象,并保存到对应的pbl文件中。创建过程与PB中一样,这儿不详说。有不清楚的请参考PB的相关书籍内容。
如果有多个datawindow,则需重复此操作。
D、关闭所有的设计界面。在设计界面的左边的项目名称上面,鼠标右击,在出现的菜单中,选择项:[Build Deployment...]后将pbl文件发布为pbd文件。(此处为test.pbd)
2、vs2005中的调用。
A、打开vs2005,新建一C#下的Windows应用程序工程:CallDataWindow。
B、在窗体中,新建一datawindow控件(Sybase DataWindow 2.0下的DataWindowControl),命名为dw。并设置如下属性:
ScrollBars:Both //显示横向纵向滚动条
LibraryList:Test.pbd //把pbd文件拷贝到运行目录下
DataWindowObject:(此处选择设计好了的datawindow名)
其它的,根据需要设置。
C、在窗体中,放几控件:
button1:取数据 button2:新增行 button3:删除行 button4:保存 button5:打印 button6:另存为...
D、切换到源码中,程序中声明三变量
System.Data.SqlClient.SqlConnection theConnection; // 数据库连接
Sybase.DataWindow.AdoTransaction trans; // 事务
int dwRow; // datawindow选中的行
E、在Form_Load事件中,加入如下代码:
theConnection = new System.Data.SqlClient.SqlConnection();
theConnection.ConnectionString = "Data Source=.;Initial Catalog=hospital;User ID=sa;";
theConnection.Open();
trans = new Sybase.DataWindow.AdoTransaction(theConnection, "");
trans.BindConnection();
dw.SetTransaction(trans);
dw.SetRowFocusIndicator(Sybase.DataWindow.RowFocusIndicator.Hand); // 设置指示图标
F、 dw的事件RowFocusChanged加如下代码:
dwRow = e.RowNumber; // 保存当前选中行。
G、button1的Click事件:
dw.Retrieve(); // 获取数据
H、button2的Click事件: // 插入一行
int row = dw.InsertRow(); // 插入行
dw.SetItemString(row, "czy", "test"); // 给当前行指定列赋值
dw.ScrollToRow(row); // 滚动到指定
string s1;
s1 = dw.GetSqlSelect(); //取datawindow的sql语句,此处只取,没有使用
I、button3的Click事件: // 删除一行
dw.DeleteRow(dwRow); // 当选中行变化时,值dwRow会相应变化。。
J、button4的Click事件:// 保存当前修改。
dw.UpdateData(true, true);
K、button5的Click事件: // 打印
dw.Print();
L、button6的Click事件: // 另存为...
SaveFileDialog saveDlg = new SaveFileDialog();
saveDlg.CheckPathExists = true;
saveDlg.AddExtension = true;
saveDlg.Filter = "(*.xls)xls文件|*.xls|(*.csv)csv文件|*.csv|(*.pdf)pdf文件|*.pdf|(*.txt)txt文件|*.txt|(*.xml)xml文件|*.xml";
DialogResult dr = saveDlg.ShowDialog();
if (dr == DialogResult.OK)
{
string filename = saveDlg.FileName;
int type1;
type1 = saveDlg.FilterIndex;
try
{
switch (type1)
{
case 1:
dw.SaveAs(filename, Sybase.DataWindow.FileSaveAsType.Excel, true);
break;
case 2:
dw.SaveAs(filename, Sybase.DataWindow.FileSaveAsType.Csv, true);
break;
case 3:
dw.SaveAs(filename, Sybase.DataWindow.FileSaveAsType.Pdf, true); // 貌似这个要出错。不知是不是我系统的原因
break;
case 4:
dw.SaveAs(filename, Sybase.DataWindow.FileSaveAsType.Text, true);
break;
case 5:
dw.SaveAs(filename, Sybase.DataWindow.FileSaveAsType.Xml, true);
break;
default:
break;
}
MessageBox.Show("保存成功!!", "系统提示", MessageBoxButtons.OK);
}
catch (Exception ex)
{
MessageBox.Show("保存时出错,原因:" + ex.Message, "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
使用C#调用datawindow,并完成一些简单功能的介绍就到这儿。如有什么不对的地方或是考虑不周的地方,还请各位指出。
操作前,请安装环境:Visual Studio .NET 2005,Datawindow.NET 2.0
具体操作如下:
1、设计要使用的datawindow
A、打开DataWindow Designer(DataWindow设计器),新建一项目,如:test.dwp(此操作在默认情况下会自动生成一个对应项目名称的pbl文件,此处为:test.pbl)
B、建一数据库连接,我这儿是sql server2000,建数据连接时,我选择的是[ADO Microsoft ADO.NET],选择[New...]按钮,建立过程与PB中建数据连接一样:
在Connection 页面:
Profile Name: LocalSql //数据链接名,可自行设置
Namespace: System.Data.SqlClient // 可选择合适的连接数据要用的命名空间
Data Source: (local)
User ID: sa
Password: hospital_1
Database: hospital
设置完后,可以切换到Preview页面中,通过选择[Test Connection]测试所做的参数设置是否正确。然后选择[OK]
C、新建datawindow对象,并保存到对应的pbl文件中。创建过程与PB中一样,这儿不详说。有不清楚的请参考PB的相关书籍内容。
如果有多个datawindow,则需重复此操作。
D、关闭所有的设计界面。在设计界面的左边的项目名称上面,鼠标右击,在出现的菜单中,选择项:[Build Deployment...]后将pbl文件发布为pbd文件。(此处为test.pbd)
2、vs2005中的调用。
A、打开vs2005,新建一C#下的Windows应用程序工程:CallDataWindow。
B、在窗体中,新建一datawindow控件(Sybase DataWindow 2.0下的DataWindowControl),命名为dw。并设置如下属性:
ScrollBars:Both //显示横向纵向滚动条
LibraryList:Test.pbd //把pbd文件拷贝到运行目录下
DataWindowObject:(此处选择设计好了的datawindow名)
其它的,根据需要设置。
C、在窗体中,放几控件:
button1:取数据 button2:新增行 button3:删除行 button4:保存 button5:打印 button6:另存为...
D、切换到源码中,程序中声明三变量
System.Data.SqlClient.SqlConnection theConnection; // 数据库连接
Sybase.DataWindow.AdoTransaction trans; // 事务
int dwRow; // datawindow选中的行
E、在Form_Load事件中,加入如下代码:
theConnection = new System.Data.SqlClient.SqlConnection();
theConnection.ConnectionString = "Data Source=.;Initial Catalog=hospital;User ID=sa;";
theConnection.Open();
trans = new Sybase.DataWindow.AdoTransaction(theConnection, "");
trans.BindConnection();
dw.SetTransaction(trans);
dw.SetRowFocusIndicator(Sybase.DataWindow.RowFocusIndicator.Hand); // 设置指示图标
F、 dw的事件RowFocusChanged加如下代码:
dwRow = e.RowNumber; // 保存当前选中行。
G、button1的Click事件:
dw.Retrieve(); // 获取数据
H、button2的Click事件: // 插入一行
int row = dw.InsertRow(); // 插入行
dw.SetItemString(row, "czy", "test"); // 给当前行指定列赋值
dw.ScrollToRow(row); // 滚动到指定
string s1;
s1 = dw.GetSqlSelect(); //取datawindow的sql语句,此处只取,没有使用
I、button3的Click事件: // 删除一行
dw.DeleteRow(dwRow); // 当选中行变化时,值dwRow会相应变化。。
J、button4的Click事件:// 保存当前修改。
dw.UpdateData(true, true);
K、button5的Click事件: // 打印
dw.Print();
L、button6的Click事件: // 另存为...
SaveFileDialog saveDlg = new SaveFileDialog();
saveDlg.CheckPathExists = true;
saveDlg.AddExtension = true;
saveDlg.Filter = "(*.xls)xls文件|*.xls|(*.csv)csv文件|*.csv|(*.pdf)pdf文件|*.pdf|(*.txt)txt文件|*.txt|(*.xml)xml文件|*.xml";
DialogResult dr = saveDlg.ShowDialog();
if (dr == DialogResult.OK)
{
string filename = saveDlg.FileName;
int type1;
type1 = saveDlg.FilterIndex;
try
{
switch (type1)
{
case 1:
dw.SaveAs(filename, Sybase.DataWindow.FileSaveAsType.Excel, true);
break;
case 2:
dw.SaveAs(filename, Sybase.DataWindow.FileSaveAsType.Csv, true);
break;
case 3:
dw.SaveAs(filename, Sybase.DataWindow.FileSaveAsType.Pdf, true); // 貌似这个要出错。不知是不是我系统的原因
break;
case 4:
dw.SaveAs(filename, Sybase.DataWindow.FileSaveAsType.Text, true);
break;
case 5:
dw.SaveAs(filename, Sybase.DataWindow.FileSaveAsType.Xml, true);
break;
default:
break;
}
MessageBox.Show("保存成功!!", "系统提示", MessageBoxButtons.OK);
}
catch (Exception ex)
{
MessageBox.Show("保存时出错,原因:" + ex.Message, "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
使用C#调用datawindow,并完成一些简单功能的介绍就到这儿。如有什么不对的地方或是考虑不周的地方,还请各位指出。
相关文章推荐
- 自定义JSP标签的简单使用(JSP2.0)
- Log4j 2.0在开发中的高级使用详解—配置简单的控制台输出(三)
- OpenCV学习笔记(8)VS2008 MFC下使用OpenCV2.0进行简单图像处理
- XDownPage2.0使用简单例子一
- 谷歌账号登录Google API Oauth 2.0简单申请和使用教程
- Log4j 2.0在开发中的高级使用具体解释—配置简单的控制台输出(三)
- 最简单易懂的RxJava2.0学习教程之RxJava2的基本使用(一)
- spring security 2.0 的简单配置使用
- Dagger2.0基本使用及简单原理
- 使用openvas简单的操作实例(KALI Linux 2.0)
- struts2.0的预览版及简单使用
- 学习笔记——Retrofit2.0的简单使用
- Java后台框架篇--Struts2.0简单使用
- Retrofit2.0 简单使用总结
- Android OpenGL ES2.0基础(一、最简单的使用)
- 使用Unity2.0的Interceptor实现简单AOP
- NUnit2.0使用简单教程
- binbinyang-- Retrofit 2.0的简单使用(入门篇)-GET请求
- RxJava2和Retrofit2.0的简单使用
- vue2.0 之 douban (六)axios的简单使用