c#
亿米酒酒
本人已经离开IT行业,文章不再更新
展开
-
winfrom解决图片多导致闪烁,以及最小化后出现控件消失背景不全的问题
winfrom控件加载不全,闪烁原创 2022-09-08 14:06:45 · 719 阅读 · 0 评论 -
C#整理Debug、Release杂乱的dll文件,打包文件简洁化
1、 右键主项目>属性>生成事件mkdir ..\$(ConfigurationName)\binmove *.dll ..\$(ConfigurationName)\binmove *.pdb ..\$(ConfigurationName)\binmove *.xml ..\$(ConfigurationName)\bin2、App.config 下添加<runtime> <assemblyBinding xmlns="urn:schemas-m原创 2022-03-23 17:37:15 · 1386 阅读 · 0 评论 -
winfrom 窗口启动时TextBox被自动选中的解决办法
启动窗口时,文本框第一个被默认选中只需要在属性里面设置Tabstop设置成false就可以了,按钮同理原创 2021-08-24 09:56:25 · 2103 阅读 · 0 评论 -
Txt文档数据的写入与读取
一、怎么填写表格资料时退出软件后,在下次启动时还能显示在页面上呢,刚开始也捣鼓了不久的时间,最后还是考虑用txt文档来保存输入的内容。1、定义文件保存位置,以及文件名称和后缀。String FilePath = AppDomain.CurrentDomain.BaseDirectory + @"Files\FeedbackFile\FeedbackCache\FeedbackCacheData.txt";二、保存表格数据。1、由于保存进txt文档里面的类型是string的,需要做进一步处理,这里使原创 2021-06-16 16:29:09 · 1502 阅读 · 0 评论 -
C# HttpWedRequest下载接口文件
一、 通过HttpWedRequest下载服务端接口提供的文件,如图所示:接口提供的文件路径包含文件的id标识和文件密码。直接使用路径下载文件是行不通的,必须采用一些新的方法完成请求。二、 接口地址https://www.runoob.com:3080/ServeApi/Download?fileId=01879f-ab0-4e1e2219ddc&key=54aef3c7f103b84fcdef9三、 在查阅了不少资料后,发现可以使用HttpWedResponse下载这种接口路径的文件。1原创 2021-06-16 15:57:02 · 2331 阅读 · 0 评论 -
WPF显示有密码的pdf文件
一、 在做WPF项目时遇到一个要显示pdf的功能,而且因为要保证文档的安全性需要加密,以前也没接触过,一时犯了难。因为之前都是一个路径然后调用浏览器打开的。二、 在查阅过不少资料后发现,还是MoonPdfLib的比较好用1、首先直接在NuGet包管理器哪里搜索安装,另外复制libmupdf.dll 到bin文件夹就可以使用2、随后页面调用xmlns:mpp="clr-namespace:MoonPdfLib;assembly=MoonPdfLib"<Border>原创 2021-06-16 15:40:03 · 331 阅读 · 0 评论 -
c# Pdf文件加密和解密
一、加密pdf文件需要使用插件iTextSharp,可以在Nuget包管理器搜索并完成安装二、声明引用读取pdf文件,获取文件页数并循环,使用FileStream写入文件,写入完成后需要将原来的文件删除掉,因为既然是保密的文件就不能留着。需要注意的是:删文件之前要关闭两个读写document.Close();reader.Close();不然就会显示文件被占用 PdfReader reader = new PdfReader(filePath);//文件路径 int n = reader.Num原创 2021-05-17 16:27:50 · 2492 阅读 · 9 评论 -
c# 比较两个list的数据,取差值
1、MaintenanceDataList数据比SynchronizeMaintenanceDataList多,获取到的差值是MaintenanceDataLis的2、将两个调换则是取交集var intolist = MaintenanceDataList.Where(a => !SynchronizeMaintenanceDataList.Select(b => b.MaintenanceId).Contains(a.MaintenanceId)).ToList();...原创 2021-05-15 20:40:23 · 2429 阅读 · 0 评论 -
c#使用Json格式请求服务端数据
一、客户那边的接口需要登录后才能请求数据,接口采用basic验证方式,确保调用的合法性,防止出现未经验证的请求。验证登录流程:向系统发起登录验证请求,系统验证成功后返回一串验证码。然后每一个接口方法都需要在请求头中增加该验证码。二、登录请求1、请求内容的是json的格式,也就是键值对的格式//获取用户名和密码 StatusCenter statusCenter = DataCenterManager.Default.StatusCenter; //字典 var re原创 2021-05-08 18:14:43 · 1454 阅读 · 1 评论 -
MVVM下拉框更改绑定子下拉框的值
一,如图所示,在WPF中使用MVVM的框架情况下,由于系统是属于车型下的子数据,所以在选择时需要车型下拉框更改时才能绑定系统的下拉框的数据。TextChanged,Checked等转换成命令的方式。接下来我们就以下拉控件为例子,来看看具体的实例:View代码:(这边声明了i特性和mvvm特性,一个是为了拥有触发器和行为附加属性的能力,当事件触发时,会去调用相应的命令,EventName代表触发的事件名称;一个是为了使用MVVMLight中 EventToCommand功能。)这边就是当ComboBo原创 2020-10-19 20:21:46 · 390 阅读 · 0 评论 -
WPF MVVM框架下的单元格合并
一、在学习新的项目当中,维修资料模块需要用到单元格合并的功能,样式如下图所示二、刚开始也是不知道怎么做的,通过在网上查找,发现大多都是写了怎么合并表头的。不过还是让我发现了一篇能用的文献,准确地说不应该叫合并而应该叫单元格拆分,仔细研究后把它改造成能适应MVVM框架的模式。1、XAML 表格使用DataGridTemplateColumn标签,首先数据正常使用MVVM的双向绑定,而检测结果和后续步骤列的单元格上下拆分,同时使用两个TextBlock绑定数据,如果需要动态的显示和隐藏只需在Visibi原创 2020-08-09 09:36:06 · 1550 阅读 · 0 评论 -
SuperMap区域定位
如下图,点击定位按钮后查询并显示定位区域首先打开SuperMap的地图,找到需要定位的底图。把它复制出来后,使用对象操作里的切割功能切成需要的定位的块。如果有已经做好的数据的就不需要使用这个方法切割了然后保存成数据集,每区域的名称就要在属性表里面手动添加,再把它放到地图里面,记得把眼睛关掉,最好放在底图的上一层,避免查询时覆盖掉其他的内容。代码部分首先的是显示地图,声明一个矢量图层用...原创 2020-04-27 21:13:23 · 1464 阅读 · 0 评论 -
多条件查询
一、多条件查询,顾名思义查询的条件是多条的,现在我要讲的查询方式如下图所示,通过多个文本框或下拉框的数据进行组合来查询,并且数据也是按顺序筛选下来的。二、获取1、 首先通过val把每一个文本框的值都获取到,获取时也可以用trim去掉空格,注意id是不能用这个东西的。2、 再把获取的值转换一下,为空时转换的值由数据类型而定,例如id要转为数字string的就给它为空。3、 最后用layui...原创 2019-08-17 18:48:40 · 659 阅读 · 0 评论 -
Layui的动态top选项卡
一、为了方便操作有些页面也会用到像浏览器顶部那样的选项卡。它那个选项卡是动态新增的,而本篇要说的也是动态的选项卡,即点击左边的选项按钮,添加一个top选项卡并且嵌套一个页面。二、做选项卡要用导layui的插件,所以引用它也是必须的。因为它嵌套的时候其实是和普通的选项卡切换原理也是一样的,每次新增是添加了一整个div和里面的iframe标签,切换就是给div添加类来隐藏和显示三、触发方式1...原创 2019-08-17 18:45:08 · 2181 阅读 · 2 评论 -
双表下拉框的修改回填
一、 回填时的控制器,根据主表的id查询时,查这两个表一定要用左连接的方式联表,因为两个字段的值是有空值的,下面的字段就相应地查出下拉框的两个id和名称就行,当然想要区分两个值的也可以在后面拼接上标识。AmendIndent RevampIndentde = (from tbSellI in myModel.PW_Selljoin tbUse in myModel.PW_User on tbS...原创 2019-08-10 15:35:21 · 156 阅读 · 0 评论 -
两个不相联的表合成一个下拉框
如下图的下拉框所示,这个下拉框是由两个表组成的,后面两个(购)的值和上面的是完全出自不同的表,再者它们没有直接的关联,只是两个表各有一个主键ID放在主表里面。一、 组合1、 那么先从控制器共同查询出两个表的值,注意这里一定要用List接收,再把两个表查出来的值都给到同一个字段,后面再用AddRange的方法把两个表连接起来public ActionResult ClassicsBox()...原创 2019-08-10 15:30:27 · 157 阅读 · 0 评论 -
修改传参的数据回填
一、弹出模态框修改和跳转页面修改有点不同。弹出模态框的回填修改的数据可以再页面直接获取。但是呢,跳转页面就不同了,因为页面是跳转的,就算你原页面的数据获取到了,但是跳转后页面数据肯定会被刷新的。二、首先给数据行内的修改按钮一个点击事件,点击它然后跳转到修改的页面上去,同时别忘了还需要给它拼接个主键的参数,这样拼接的主要目的是知道你所点击的行,然后获取该行的数据。//打开修改客户页面 ...原创 2019-05-28 15:01:29 · 274 阅读 · 0 评论 -
批量操作客户状态
一、当需要同时操作的数据比较多的时候,批量操作是个比较快捷的方法,批量对数据进行删除或修改操作,可以减少操作时间,因为用不着一条条数据地点。现在要做的是,选择了数据表格的行后,再点击启用或停用的按钮对数据进行启用或停用处理。二、获取数据 1、封装一个方法并且它的后面接两个参数,再声明一个变量用来记录选中行的数量,再用layui里面的一个获取选择行数据的方法得到数据。//批量修改状态...原创 2019-06-08 14:34:51 · 296 阅读 · 0 评论 -
点击行的数据回填到模态框
一、这里讲的是,如何把layui的数据表格行的数据,通过点击行里面的详情按钮获取到,并且还需要把它绑定并显示在模态框里面去。二、实现它的前提是要在渲染表格时调用的控制器方法里面把所有需要的数据都查询出来。select new ClientManagement { ClientI...原创 2019-06-08 14:43:26 · 685 阅读 · 0 评论 -
树状图JQuery.ztree插件的使用
一、 树状图,顾名思义就是树形状的图,想必大家对它也不陌生,而且天天都在用的。就比如文件资源管理器里面左侧功能,它就是一个树状图,使用树状图可以很方便快捷地找到所需要的文件,而且对于文件的管理也是非常方便的,因为它有层级关系,不同种类或类别的东西可以分类放在树状图里面,这样对于文件的操作是非常高效和便捷的。二、 但是这东西是怎么做出来的呢,因为我做的项目里面就有用到这个树状图,刚开始尝试着自己打...原创 2019-06-08 14:50:29 · 1301 阅读 · 0 评论 -
Tree树状图的动态增删查改(上)生成树状图
一、刚学习项目里就有使用到树状图这个功能,树状图这个功能是要用到插件才能做的,我目前发现有两个插件的样式是比较好看的,一个是Layui里面自带的树组件,不过它的文档写的挺少的,而且看不懂;另一个是jquery的zTree_v3插件也是我现在要说的插件,它的配套文档写的挺多的,但是呢,好吧依然看不懂。二、在经历了不断上网查找方法和不断地询问同学后,差不多花了一个星期才把它的增删查改的功能完成。虽...原创 2019-07-08 14:29:31 · 1670 阅读 · 0 评论 -
Tree树状图的动态增删查改(中)新增节点
一、 新增节点1、 新增的基本功能样式可以在tree里面的案例找到,我这里用的添加节点是子节点,父节点其实是不用插件里面那个添加的。只要配置合适,给子节点添加子节点,该节点就会自动变成父节点的,前提是取消节点锁定。2、下面三个a标签分别是添加、修改和删除,把id等值写对了就能对树进行编辑操作了。3、 只要上面的HTML样式写对了,点击了a标签它插件就会自己调用下面的add方法,新增节点后...原创 2019-07-08 14:32:56 · 2956 阅读 · 0 评论 -
循环新增table表格的多条数据
一、多条数据新增和普通的多表新增不同,多表新增就只是在单个input里面填写值,而且通过name就可以直接指定到数据库的字段并且保存去。但是在种table表格里面就有点麻烦了,因为每一列单元格的样式和name名都是一样的,不同于普通多表新增的一个name指定一个input的方式,在表格里就成了多个重复的name同时获取到了,怎么把获取到的数据对应每一行地新增,这就成了本篇中所讨论的话题了。二、...原创 2019-06-28 09:58:37 · 2033 阅读 · 0 评论 -
以二进制的方式保存图片到数据库
一、两种保存方式1、 保存图片的方式主要的还是有两种的,一是把图片转换为二进制的方式保存,二是把图片保存到文件夹里面去,再获取图片的路径保存到数据库。个人不推荐第一种方法,因为把图片保存到数据库是非常占用空间的,并且数据容易出错。二、二进制保存1、 虽然不推荐第一种方法,但对于我这么一个初学者来说总得什么都要尝试一下吧。2、 首先要做的是弹出这个windows的文件选择框,它的弹出方法...原创 2019-06-28 10:51:25 · 7111 阅读 · 0 评论 -
Tree树状图的动态增删查改(下)修改与删除
一、整个树状图中,修改和删除可以说是比较容易理解的功能了,相比于新增操作也少了很多,也用不着把id传来传去的。二、删除节点1、修改的位置比较特殊,所以就先说下删除是怎么做的吧。2、第一步,删除的方法必须写在插件自带的remove的方法里面,然后就是用插件的方法获取选中的值,再下去的就是判断了。isParent等于true的话就说明选中的是父节点,并且下面是判断到有子节点的,后面的两个就是限制...原创 2019-07-16 16:37:31 · 3636 阅读 · 4 评论 -
查询树节点的所有下级节点的分类数据,树的导航条功能
一、 使用了树状图对数据进行了分类,但是分类了之后当然也要把分类后的数据查询出来啦。现在要实现的功能是点击了分类的节点后,不仅把当前点击节点的数据查询出来,而且连带该分类下级的所有分类数据都要查询出来。二、首先获取点击的节点,通过递归的方式获取到当前的节点和它所有下级节点id,然后把节点id的数组给到页面上的input记录下,后面查询时就获取这个input的值去查询客户信息就可以了。 var...原创 2019-07-16 16:45:57 · 1018 阅读 · 0 评论 -
layui表格列中查询二进制图片
一、如图的纸质单据列所示,在查询的页面对单据内的图片提供了查看和上传的功能,并且数据库保存的图片是二进制的。想必用过layui渲染表格的朋友都知道,从数据库直接查询出来的二进制图片数据,不仅传不到页面,也无法通过layui表格渲染出来。二、查询图片执行渲染1、 既然不能传二进制数据,那就用其他的东西代替一下它是否存在图片。在控制器查询layui的表格数据时用三目运算符转换一下,如果有图片ph...原创 2019-07-27 08:01:39 · 694 阅读 · 0 评论 -
在layui表格中上传二进制图片
一、接着上篇的代码,上传图片也是自定义操作列,只是通过判断字段是否存在图片才显示哪个的。1、首先页面布局是用form来提交的,因为图片文件在代码里面直接提交是传不到控制器的,所以用这种方式直接把整个表单都提交过去了。里面一个是打开资源管理器的input标签,另一个是用来记录订单id的。2、 然后就是表格里面上传按钮的点击事件,用上传的点击来触发文件按钮的点击,就可以达到打开资源管理器的目的,...原创 2019-07-27 08:07:30 · 1258 阅读 · 0 评论 -
搜索中的交集与并集问题
一、当你的数据比较多的时候,想方便快速地查询出需要的数据时,这就需要用到搜索的这种功能了。二、视图部分视图的方法其实是很简单的,首先肯定先给搜索的按钮写一个点击事件,再从页面获取到输入搜索内容的input标签。把input标签的值获取到后,接着判断一下它是否为空,如果是空的当然是返回它,总不能让你搜索个空值吧,function listsearch() { va...原创 2019-05-28 08:57:42 · 1474 阅读 · 0 评论