1.vs2008,在处理方案中添加现有项目DLLFullPrint,然后在主工程中添加引用,引用这个项目。
2.在界面设计中,添加按钮PrintButton,双击它进入代码界面;
在代码文件中,首先使用usingDLLFullPrint;然后按钮点击事件中写入以下代码:privatevoidprintButton_Click(objectsender,EventArgse){System.Data.DataTabledt=newSystem.Data.DataTable();DataRowdr;//设置列表头foreach(DataGridViewColumnheaderCellindataGridView1.Columns){dt.Columns.Add(headerCell.HeaderText);}foreach(DataGridViewRowitemindataGridView1.Rows){dr=dt.NewRow();for(inti=0;i<dt.Columns.Count;i++){dr[i]=item.Cells[i].Value.ToString();}dt.Rows.Add(dr);}DataSetdy=newDataSet();dy.Tables.Add(dt);MyDLL.TakeOver(dy);}3.运行程序,点击打印按钮,弹出打印界面,调节界面,打印预览,需安装打印机。
2022/9/3 1:56:26 149KB dataGridView 休闲 万能打印 职场
1
PB新大陆星POS扫码支付源码,调用C#动态库,简单实现接口,采用POWERBUILDER9.0开发stringls_urlstringls_datastringls_ddstringls_zfqd//【交易类型--传入平台用】ifrb_1.checked=truethen ls_zfqd="WXPAY"endififrb_2.checked=truethen ls_zfqd="ALIPAY"endififrb_3.checked=truethen ls_zfqd="YLPAY"endif//【生成请求地址===从配置参数中维护请求地址的一部分】ls_url=gs_pos_requesturl+"sdkBarcodePay.json"//【判断输入金额能否符合要求】ifdec(em_1.text)<=0.00then messagebox("系统提示【MYSOFT】","所输金额不正确!~r~n请重新输入!") em_1.setfocus() returnendif//【判断商户订单号能否为空】ifsle_4.text=""then messagebox("系统提示【MYSOFT】","订单号不能为空!") returnendif//【判断能否扫描付款码】ifsle_code.text=""then messagebox("系统提示【MYSOFT】","付款码不能为空!") sle_code.setfocus() returnendif//【判断能否扫描付款码】iflen(sle_code.text)=0then messagebox("系统提示【MYSOFT】","请扫描服务对象付款码......") sle_code.setfocus() return-1endif//【判断订单号能否为空】iflen(sle_4.text)=0then messagebox("系统提示【MYSOFT】","订单号不能为空!") sle_4.setfocus() return-1endif//【初始化伪随机数发生器,让应用程序每次运用不同的伪随机数序列。
】randomize(0)//【清除is_keys[]is_value[]】inv_wxpay.of_clear()//====================生成公共请求参数==============================================================//【操作系统:3-直连】inv_wxpay.of_add_pos("opSys","3")//【字符集:00-GBK】inv_wxpay.of_add_pos("characterSet","00")//【机构号,从配置参数维护】inv_wxpay.of_add_pos("orgNo",gs_pos_orgno)//【商户号,从配置参数维护】inv_wxpay.of_add_pos("mercId",gs_pos_mercid)//【设备号,从配置参数维护】inv_wxpay.of_add_pos("trmNo",gs_pos_trmno)//【商户单号,不能重复,若重复则返回:数据库错误】inv_wxpay.of_add_pos("tradeNo",sle_4.text)//【设备端交易时间:yyyymmddhhmmss】inv_wxpay.of_add_pos("txnTime",string(now(),"yyyymmddhhmmss"))//【签名方式:MD5】inv_wxpay.of_add_pos("signType","MD5")//【版本号:默认V1.0.0】inv_wxpay.of_add_pos("version","V1.0.0")//==================生成商户主扫请求参数============================================================//【实付金额:分为单位】inv_wxpay.of_add_pos("amount",string(long(dec(em_1.text)*100)))//【订单总金额:分为单位】inv_wxpay.of_add_pos("total_amount",string(long(dec(em_1.text)*100)))//【扫码支付授权码】inv_wxpay.of_add_pos("authCode"
2015/6/24 6:08:54 11.64MB PB POWERBUILDER
1
poi解析excel功能参数说明此项目是基于springMVC实现的,基本流程为从前台jsp页面使用Ajax文件上传导入excel文件(.xls(97-03)/.xlsx(07以后)),传到后台controller调用相应工具类解析后前往指定参数做后续处理.1.POIUtil.java工具类解析通过MutilpartFile导入的Excel并解析里面数据,先判断文件的类型(excel处理有两种此处为两种通用)是.xls/.xlsx,通过workbook.getNumberOfSheets()获取工作簿数量,遍历工作簿,sheet.getLastRowNum()获取最大行数,将每行数据放入Listlist=newArrayList(),并根据excel数据类型将器转换为字符串、数字、Boolean、公式、空值类型防止出现错误,最后前往一个list.2.ExcelUtil.java工具类解析通过MutilpartFile导入的Excel并解析里面数据,先判断文件的类型(excel处理有两种此处为两种通用)是.xls/.xlsx,采用Apache的POI的API来操作Excel,读取内容后保存到List中,再将List转Json(使用Linked,增删快,与Excel表顺序保持一致),Sheet表1————>List1步骤1:根据Excel版本类型创建对于的Workbook以及CellSytle步骤2:遍历每一个表中的每一行的每一列,这里做了些小改动,因为后续可能解析过后可能会保存入数据库,这里为第一行数据添加一个自定义表头String[]p=newString[]{"name","age","sex","tel","address","e-mail","phone"};遍历的列数量以p的length为准步骤3:一个sheet表就是一个Json,多表就多Json,对应一个List一个sheet表的一行数据就是一个Map一行中的一列,就把当前列头为key,列值为value存到该列的Map中Map一个线性HashMap,以Excel的sheet表顺序,并以sheet表明作为key,sheet表转换Json后的字符串作为value最后前往一个LinkedHashMap3.ExcelToJsonPoi.java工具类这个与上面工具类类似,不过这个是解析本地excel文件不是使用的流,使用迭代遍历sheet工作簿与每行每列的值,将所有类型作为String类型处理前往一个json对象输出至控制台
2021/10/17 15:09:19 51.92MB poi解析excel
1
本文实例为大家分享了Ajax实现文件上传的具体代码,供大家参考,具体内容如下前端表单和JQueryjsp/html代码运用JQury[removed][removed]前端表单<formid="form-avatar"enctype="multipart/form-data">请选择要上传的文件:<inputtype="file"name="file"/><inputid="btn-avatar"type="button"value="上传"/></
2018/7/21 6:08:41 48KB IN MVC ng
1
废话少说,直接进入正题,我们先来看一些简单的方法,这些方法都是对jQuery.ajax()进行封装以方便我们使用的方法,当然,如果要处理复杂的逻辑,还是需要用到jQuery.ajax()的(这个后面会说到).1.load(url,[data],[callback]):载入近程HTML文件代码并插入至DOM中。
url?(String):请求的HTML页的URL地址。
data?(Map):(可选参数)发送至服务器的key/value数据。
callback?(Callback):(可选参数)请求完成时(不需要是success的)的回调函数。
这个方法默
2016/4/16 3:30:06 138KB ajax callback html代码
1
思绪分析:效果:当页面加载时,利用ajax异步向后台请求数据,加载一级商品类别,当选择一级商品时加载二级商品,选择二级商品加载三级商品。
实现:1、当拿到数据后加载pid为0的商品,并动态创建option将商品追加到一级菜单中,并设置value值2、当选择一级商品时加载pid=当前id的商品,并创建option将商品追加到二级菜单中,并设置value值3、当选择二级商品时加载pid=当前id的商品,并创建option将商品追加到三级菜单中,并设置value值页面效果:$(function(){//请求路径varurl="03goods.ph
2021/11/3 7:12:45 59KB ajax option 分类
1
对初学AJAX的同学会有协助的。
----------ajax.js---------------varrequest=false;try{ request=newXMLHttpRequest();}catch(trymicrosoft){ try{ request=newActiveXObject("Msxml2.XMLHTTP"); } catch(othermicrosoft){ try{ request=newActiveXObject("Microsoft.XMLHTTP"); } catch(failed){ request=false; } }}if(!request)alert("ErrorinitializingXMLHttpRequest!");functiongetCustomerInfo(){ document.getElementById("output").innerHTML="Loading..."; document.getElementById("submit").disabled=true; varname=document.getElementById("name").value; vartext=document.getElementById("text").value; varkey=document.getElementById("key").value; varanswer=document.getElementById("answer").value; varpoststr="name="+name+"&text="+text+"&key="+key+"&answer="+answer; varurl="doit.php"; request.open("POST",url,true); request.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); request.send(poststr); request.onreadystatechange=updatePage;}functionupdatePage(){if(request.readyState==4)if(request.status==200)document.getElementById("output").innerHTML=request.responseText;elseif(request.status==404)alert("目标地址不存在");elsealert("警告:错误代码"+request.status);}functiongetInfo(){ document.getElementById("output1").innerHTML="Loading..."; varurl="show.php"; vard=newDate().getTime(); request.open("GET",url+"?d="+d.toString(),true); request.onreadystatechange=updatePage1; request.send();}functionupdatePage1(){if(request.readyState==4)if(request.status==200)document.getElementById("output1").innerHTML=request.responseText;elseif(request.status==404)alert("目标地址不存在");elsealert("警告:错误代码"+request.status);}
2017/4/14 22:50:25 79KB ajax
1
首先,要实现如下图效果,1、要理清思绪:先做出三个下拉菜单—-根据第一个下拉菜单的value值获取第二个下拉列表的内容,第三个同理。
2、用到的数据库表:Chinastates表规律:根据国家级(中国)的areacode查询省级(如:北京);根据省级的areacode查询市级(如:北京市辖);
根据市级的areacode查询区级(如东城区)第一种方式:没有用到封装,数据读取较慢,可以看看原理,这样在第二种方式封装时就容易多了。
代码如下:<!DOCTYPEhtml><html><head><metacharset=UTF-8><title></titl
2018/9/11 17:27:32 68KB ajax data jq
1
使用方法:援用usingXfrog.Net命名空间;用法如:JsonObjectnewObj=newJsonObject("JSON字符串");StringerrorCode=newObj["error_code"].Value;//获取其中的属性值。
2016/7/13 6:51:03 12KB JsonObject
1
在shuffle操作的时候,是按照key来进行value的数据的输入,拉取和聚合的,同一个key的values,一定是分配到同一个reducetask进行处理的,假如多个key对应的value一共有90万条数据,但是可能某条key对应了88万条,其他key最多也就对应数万条数据,那么处理这88万条数据的reducetask肯定会特别耗费时间,甚至会直接导致OOM,这就是所谓的数据倾斜
2020/11/24 10:43:05 5.59MB Spark 数据倾斜 优化
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡