项目笔记(项目中遇到的注意点;未进行分类,比较乱,敬请谅解)

C# Winform 导出当前gridview界面数据到excel

1.string foldPath = string.Empty;
SaveFileDialog dialog = new SaveFileDialog();
dialog.Filter = “Excel|*.xlsx”;
if (dialog.ShowDialog() == DialogResult.OK)
{
foldPath = dialog.FileName;
this.gvLot.Export(DevExpress.XtraPrinting.ExportTarget.Xlsx, foldPath);
}

2.SaveFileDialog savefrm = new SaveFileDialog();
savefrm.Filter = “Excel(.xlsx)|*.xlsx”;
savefrm.FileName = “洁净度” + DateTime.Now.ToString(“yyyyMMddHHmmss”);
if (savefrm.ShowDialog() == DialogResult.OK)
{
string sFilePatch = savefrm.FileName;
if (!string.IsNullOrEmpty(sFilePatch))
{
gvData.ExportToXlsx(sFilePatch);
}
}

sqlSever查询重复数据

select * from 表名 where 字段 in
(select 字段 from 表名 group by 字段 having count(字段) >1 )

插入二进制图片

byte[] b = GetPictureData(@“C:\Users\PC\Pictures\Camera Roll\car.jpg”);
SqlConnection connection = new SqlConnection(@“Server=192.168.0.250;User ID=sa;Password=sa; Database=MES_YHT”);
connection.Open();
string sql = " update yHTERP.dbo.t_Accessory set FData=@photo where FID=1 “;
SqlParameter param = new SqlParameter(”@photo", SqlDbType.Image);
param.Value = b;
SqlCommand cmd = new SqlCommand(sql, connection);
cmd.Parameters.Add(param);
cmd.ExecuteNonQuery();
connection.Close();

如何让winform的combobox只能选不能输入

DropDownStyle 属性确定用户能否在文本部分中输入新值以及列表部分是否总显示。
值:
DropDown — 文本部分可编辑。用户必须单击箭头按钮来显示列表部分。
DropDownList — 用户不能直接编辑文本部分。用户必须单击箭头按钮来显示列表部分。
Simple — 文本部分可编辑。列表部分总可见。

sqlSever删除表中多余的重复记录,重复记录是根据单个字段(Id)来判断,只留有rowid最小的记录

DELETE from 表 WHERE (id) IN ( SELECT id FROM 表 GROUP BY id HAVING COUNT(id) > 1) AND ROWID NOT IN (SELECT MIN(ROWID) FROM 表 GROUP BY id HAVING COUNT(*) > 1);

sqlSever删除表中多余的重复记录(多个字段),只留有rowid最小的记录

delete from 表 a where (a.Id,a.seq) in (select Id,seq from 表 group by Id,seq having count(*) > 1) and rowid not in (select min(rowid) from 表 group by Id,seq having count(*)>1)

SQLSERVER 数据库恢复挂起的解决办法

如果你的数据库还处于挂起状态,请把我下面代码的test改为你的库名,然后执行完,刷新就正常了:
USE master
GO
ALTER DATABASE test SET SINGLE_USER
GO
ALTER DATABASE test SET EMERGENCY
GO
DBCC CHECKDB(test,REPAIR_ALLOW_DATA_LOSS)
go
ALTER DATABASE test SET ONLINE
GO
ALTER DATABASE test SET MULTI_USER
GO

C#前台连接数据库执行

string connectionString = @“Data Source=(LocalDB)\v11.0;AttachDbFilename=D:\SQL2002\test.mdf;Integrated Security=True;Connect Timeout=30”;
SqlConnection connection = new SqlConnection(connectionString);
DataSet ds=new DataSet();
string sql = “select * from parameters”;
if (connection != null)
{
SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
ds.Clear();
adapter .Fill(ds, “parameters”);
connection.Close();
}

js接收日期乱码

var vInDate = decodeURI(getQueryStringByName(“InDate”));

oracle 合并多列到一行

//普通
wmsys.wm_concat(字段)
//中文乱码
wmsys.wm_concat( to_char(字段))
//排重
wmsys.wm_concat(distinct 字段)
//替换分隔符
replace(wmsys.wm_concat(字段),’,’,’、’)

C#导入Excel 部分数据为空 把该列改成文本格式, HDR=YES;IMEX=1

string strCon = “Provider=Microsoft.ACE.OLEDB.12.0;Data Source=” + FileName + “;Extended Properties=“Excel 12.0;HDR=YES;IMEX=1;””;

sqlServer级联更新

1.update 表1 set 字段1=(select a.字段1 from 表2 a where a.字段2=表1.字段2)
where 条件
2.update 表1 t1 left join 表2 t2 on t2.id = t1.tid SET t1.username = t2.uname
where 条件;

js判断是否为正整数

function isPositiveInteger(s) {
var re = /^[0-9]+$/;
return re.test(s)
}

winform 中layout 框子高度改不了,解决办法

SizeConstraintsType=Custom

winform Dev的gridControl中为每一行添加一个序号

private void gvMain_CustomDrawRowIndicator(object sender, RowIndicatorCustomDrawEventArgs e)
{
if (e.Info.IsRowIndicator && e.RowHandle >= 0)
{
e.Info.DisplayText = (e.RowHandle+1).ToString()
}
}
修改InDicatorWidth属性为30

sqlserver 中文排序

order by charindex(SUBSTRING(name,2,1),‘一二三四五六七八九十’)
其中 SUBSTRING(name,2,1) 是截取字段中的中文数字

js echarts 部分markLine 出不来

要用 echarts.js 不能用 echarts.min.js

oracle sql ‘1003’ as name 只取到第一个字节,解决方法:

select cast(‘1003’ as varchar2(4)) from table;

winform 控件颜色修改,有时会遇到颜色改了但是看不到效果,解决方法:

首先找到LookAndFeel 改变其style为flat,其次把UseDefaultLoolAndFeel改成false

gridControl根据值改变某个单元格的背景颜色

private void gvCodeSoftLabel_RowCellStyle(object sender, RowCellStyleEventArgs e)
{
string value = Convert.ToString(gvCodeSoftLabel.GetRowCellValue(e.RowHandle, “YEAR”));
if (value.Equals(“0”) && e.Column.FieldName == “YEAR”)
{
e.Appearance.BackColor = Color.Red;
}
}

html input框自动填充关闭

## sqlServer数据库连接字符串,database设置为自己的数据库名,以Windows身份验证 String connsql = "server=.;database=MyDBName;integrated security=SSPI";

js 中导出excel 较长数字串会变成科学计数法

style=“mso-number-format:’@’;”
<td style=“mso-number-format:’@’;”>100821199909091234

setInterval定时器(先触发一次再延时) 每1秒刷新一次

var count2= function(){
return count2;//若不返回时,此函数只会执行一次
}
setInterval(count2(),1000);

css float:left 影响背景样式 解决方法

把<div class=“clear” style=“clear:both;height:0px”> 放到内层后面

C# Dev ChartControl x轴时间显示和数据源不同时,解决方案

chart.Series[0].ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Qualitative;

winform中,如果lookupedit控件设置this.lueFactoryRoom.ItemIndex = 0 无效

在前面加上一句this.lueFactoryRoom.Properties.ForceInitialize();

在jquery中,合并数组arr1, arr2

$.merge(arr1, arr2) //只能两两合并
arr1.concat(arr2).concat(arr3) //合并多个

echarts 横坐标显示不全

defOpts.xAxis= {
data: dat.titleList,
axisLabel:{
interval: 0 //横坐标全显示
}
},

android studio中,默认软键盘不弹出

context.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

winform dev中,gridcontrol 单元格内容想要换行

把columnEdit设置成MemoEdit

C# datatable 去重

已知datatable为dtLots;
DataView dv = new DataView(dtLots);
dtLots = dv.ToTable(true, “SELECTED”,“LOT_NUMBER”);//第一个参数为true,去除重复数据,false不去除。//第二个参数需要显示的字段

C# DEV TextEdit 设置文本框只能输入数字(整数)

设置属性MaskType=“RegEx” UseMaskAsDisplayFormat=“True” Mask="[0-9]" //这个是允许文本框输入数字(整数)
MaskType=“RegEx” UseMaskAsDisplayFormat=“True” Mask="([0-9]{1,}[.][0-9]
)" //这个是允许文本框输入小数

winform中,把弹窗form 停在最前面

1.form.ShowDialog();
2.form.TopMost = true;

winform DevExpress GridView控件设置默认选中的行颜色

在“Appearance”菜单里设置“FocusedRow”参数和“HideSelectionRow”参数的BackColor

js EasyUI 下拉框combobox 设置首次加载不触发change事件

$(’#CONSIGNEE_CODE’).combobox({
onChange: function (newValue, oldValue) {
if (oldValue != ‘’) {
$(’#PROVIDE_CODE’).combobox(‘setValue’, newValue);
}
}
});

C#循环 并列执行

这种循环不需要等待上一个对象执行完,可以一起执行
List为集合或数组,ListItem为单个对象
Parallel.ForEach(List, (ListItem) =>{
…业务代码
});
Parallel.For(0,10, (i) =>{
…业务代码
});

C#在for循环中输出消息时,会等到结束时一起输出

解决方式:
1.加委托
.Invoke(new EventHandler(delegate{
//代码
}))
2.加在打印赋值的下一句加上Application.DoEvents(),作用:处理当前在消息队列中的所有 Windows 消息。
交出CPU控制权,让系统可以处理队列中的所有Windows消息,比如在大运算量循环内,加Application.DoEvents可以防止界面停止响应,因为winform的消息循环是通过新创建一个线程来处理的,那么假如你的某个操作比较耗时,那么消息处理得等你这个耗时操作做完了才能继续,而Application.DoEvents方法就是允许你在耗时操作的内部调用它,而去处理消息队列中的消息。像鼠标移动鼠标点击都是windows消息,如果耗时操作一直进行,那么界面就像死锁一样。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值