版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C#开发中总结的23个经验技巧 1.怎样定制VC#DataGrid列标题?DataGridTableStyle dgts = new DataGridTableStyle(); dgts.MappingName = myTable; /myTable为要载入数据的DataTableDataGridTextBoxColumn dgcs = new DataGridTextBoxColumn(); dgcs.MappingName = title_id; dgcs.HeaderText = 标题ID; dgts.GridColumnStyles.Add(dgcs); 。dataGrid1.Tabl
2、eStyles.Add(dgts); 2.检索某个字段为空的所有记录的条件语句怎么写?.where col_name is null3.如何在c# Winform应用中接收回车键输入?设一下form的AcceptButton.4.比如Oracle中的NUMBER(15),在Sql Server中应是什么?NUMBER(15):用numeric,精度15试试。5.sql server的应用like语句的存储过程怎样写?select * from mytable where haoma like % + hao + %6.vc# winform中如何让textBox接受回车键消息(假没没有按钮的情
3、况下)?private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)if(e.KeyChar != (char)13)return; else/do something; 7.为什么(Int32)cmd.ExecuteScalar()赋值给Int32变量时提示转换无效?Int32.Parse(cmd.ExecuteScalar().ToString(); 8.DataSource为子表的DataGrid里怎样增加一个列以显示母表中的某个字段?在子表里手动添加一个列。DataColu
4、mn dc = new DataColumn(newCol, Type.GetType(System.String); dc.Expression = Parent.parentColumnName; dt.Columns.Add(dc); /dt为子表9.怎样使DataGrid显示DataTable中某列的数据时只显示某一部分?select ., SUBSTR(string, start_index, end_index) as *, * from *10.如何让winform的combobox只能选不能输入?DropDownStyle 属性确定用户能否在文本部分中输入新值以及列表部分是否总
5、显示。值:DropDown - 文本部分可编辑。用户必须单击箭头按钮来显示列表部分。DropDownList - 用户不能直接编辑文本部分。用户必须单击箭头按钮来显示列表部分。Simple - 文本部分可编辑。列表部分总可见。11.怎样使winform的DataGrid里显示的日期只显示年月日部分,去掉时间?sql语句里加上to_date(日期字段,yyyy-mm-dd)12.怎样把数据库表的二个列合并成一个列Fill进DataSet里?dcChehao = new DataColumn(newColumnName, typeof(string); dcChehao.Expression =
6、columnName1+columnName2; dt.Columns.Add(dcChehao); Oracle:select col1|col2 from tablesql server:select col1+col2 from table13.如何从合并后的字段里提取出括号内的文字作为DataGrid或其它绑定控件的显示内容?即把合并后的字段内容里的左括号(和右括号)之间的文字提取出来。Select COL1,COL2, casewhen COL3 like %(% THEN substr(COL3, INSTR(COL3, ( )+1, INSTR(COL3,))-INSTR(COL
7、3,()-1)end as COL3from MY_TABLE14.当用鼠标滚轮浏览DataGrid数据超过一定范围DataGrid会失去焦点。怎样解决?this.dataGrid1.MouseWheel+=new MouseEventHandler(dataGrid1_MouseWheel); private void dataGrid1_MouseWheel(object sender, MouseEventArgs e)this.dataGrid1.Select(); 15.怎样把键盘输入的+符号变成A?textBox的KeyPress事件中if(e.KeyChar = +)SendKe
8、ys.Send(A); e.Handled = true; 16.怎样使Winform启动时直接最大化?this.WindowState = FormWindowState.Maximized; 17.c#怎样获取当前日期及时间,在sql语句里又是什么?c#: DateTime.Nowsql server: GetDate()18.怎样访问winform DataGrid的某一行某一列,或每一行每一列?dataGridrow,col19.怎样为DataTable进行汇总,比如DataTable的某列值延吉的列为多少?dt.Select(城市=延吉).Length; 20.DataGrid数据导
9、出到Excel后0212等会变成212。怎样使它导出后继续显示为0212?range.NumberFormat = 0000; 21. 怎样把DataGrid的数据导出到Excel以供打印? 之前已经为DataGrid设置了TableStyle,即自定义了列标题和要显示的列,如果想以自定义的视图导出数据该怎么办? 把数据导出到Excel后,怎样为它设置边框啊? 怎样使从DataGrid导出到Excel的某个列居中对齐? 数据从DataGrid导出到Excel后,怎样使标题行在打印时出现在每一页? DataGrid数据导出到Excel后打印时每一页显示当前页/共几页,怎样实现? http:/ww
10、/csharp.aspprivate void button1_Click(object sender, System.EventArgs e)int row_index, col_index; row_index = 1; col_index = 1; Excel.ApplicationClass excel = new Excel.ApplicationClass(); excel.Workbooks.Add(true); DataTable dt = ds.Tablestable; foreach(DataColumn dcHeader in dt.Column
11、s)excel.Cellsrow_index, col_index+ = dcHeader.ColumnName; foreach(DataRow dr in dt.Rows)col_index = 0; foreach(DataColumn dc in dt.Columns)excel.Cellsrow_index+1, col_index+1 = drdc; col_index+; row_index+; excel.Visible = true; private void Form1_Load(object sender, System.EventArgs e)SqlConnection
12、 conn = new SqlConnection(server=tao; uid=sa; pwd=; database=pubs); conn.Open(); SqlDataAdapter da = new SqlDataAdapter(select * from authors, conn); ds = new DataSet(); da.Fill(ds, table); dataGrid1.DataSource = ds; dataGrid1.DataMember = table; dataGrid1.TableStyles0.GridColumnStylesindex.HeaderTe
13、xt; /index可以从0dataGrid1.TableStyles0.GridColumnStyles.Count遍历。 Excel.Range range; range=worksheet.get_Range(worksheet.Cells1,1,xSt.Cellsds.Tables0.Rows.Count+1,ds.Tables0.Columns.Count); range.BorderAround(Excel.XlLineStyle.xlContinuous,Excel.XlBorderWeight.xlThin,Excel.XlColorIndex.xlColorIndexAuto
14、matic,null); range.BordersExcel.XlBordersIndex.xlInsideHorizontal.ColorIndex = Excel.XlColorIndex.xlColorIndexAutomatic; range.BordersExcel.XlBordersIndex.xlInsideHorizontal.LineStyle =Excel.XlLineStyle.xlContinuous; range.BordersExcel.XlBordersIndex.xlInsideHorizontal.Weight =Excel.XlBorderWeight.x
15、lThin; range.BordersExcel.XlBordersIndex.xlInsideVertical.ColorIndex =Excel.XlColorIndex.xlColorIndexAutomatic; range.BordersExcel.XlBordersIndex.xlInsideVertical.LineStyle = Excel.XlLineStyle.xlContinuous; range.BordersExcel.XlBordersIndex.xlInsideVertical.Weight = Excel.XlBorderWeight.xlThin; rang
16、e.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter worksheet.PageSetup.PrintTitleRows = $1:$1; worksheet.PageSetup.CenterFooter = 第&P页 / 共&N页; 22.当把DataGrid的Cell内容赋值到Excel的过程中想在DataGrid的CaptionText上显示进度,但不显示。WHY?.dataGrid1.CaptionText = 正在导出: + (row + 1) + / + row_cnt; System.Windows.Forms.Applic
17、ation.DoEvents(); .处理当前在消息队列中的所有Windows消息。当运行Windows窗体时,它将创建新窗体,然后该窗体等待处理事件。该窗体在每次处理事件时,均将处理与该事件关联的所有代码。所有其他事件在队列中等待。在代码处理事件时,应用程序并不响应。如果在代码中调用DoEvents,则应用程序可以处理其他事件。如果从代码中移除DoEvents,那么在按钮的单机事件处理程序执行结束以前,窗体不会重新绘制。通常在循环中使用该方法来处理消息。23.怎样从Flash调用外部程序,如一个C#编译后生成的.exe?fscommand(exec, 应用程序.exe); 必须把flash发
18、布为.exe 必须在flash生成的.exe文件所在目录建一个名为fscommand的子目录,并把要调用的可执行程序拷贝到那里。24.有没有办法用代码控制DataGrid的上下、左右的滚动?dataGrid1.Select(); SendKeys.Send(PGUP); SendKeys.Send(PGDN); SendKeys.Send(LEFT); / Ctrl+左方向键SendKeys.Send(RIGHT); / Ctrl+右方向键25.怎样使两个DataGrid绑定两个主从关系的表?DataGrid1.DataSource = ds; DataGrid1.DataMember = 母
19、表; .DataGrid2.DataSouce = ds; DataGrid2.DataMember = 母表.关系名; 26.assembly的版本号怎样才能自动生成?特别是在Console下没有通过VStudio环境编写程序时。关键是AssemblyInfo.cs里的assembly: AssemblyVersion(1.0.*),命令行编译时包含AssemblyInfo.cs27.怎样建立一个Shared Assembly?用sn.exe生成一个Strong Name:keyfile.sn,放在源程序目录下在项目的AssemblyInfo.cs里assembly: AssemblyKey
20、File(.keyfile.sn)生成dll后,用gacutil /i myDll.dll放进Global Assembly Cach.28.在Oracle里如何取得某字段第一个字母为大写英文AZ之间的记录?select * from table where ascii(substr(字段,1,1) between ascii(A) and ascii(Z)29.怎样取得当前Assembly的版本号?Process current = Process.GetCurrentProcess(); FileVersionInfo myFileVersionInfo = FileVersionInfo
21、.GetVersionInfo(current.MainModule.FileName); Console.WriteLine(myFileVersionInfo.FileVersion); 30.怎样制作一个简单的winform安装程序? 建一个WinForm应用程序,最最简单的那种。运行。 添加新项目-安装和部署项目,模板选择安装向导。 连续二个下一步,在选择包括的项目输出步骤打勾主输出来自,连续两个下一步,完成。 生成。 到项目目录下找到Setup.exe(还有一个.msi和.ini文件),执行。31.怎样通过winform安装程序在Sql Server数据库上建表? 项目添加新项类别:
22、代码;模板:安装程序类。名称:MyInstaller.cs 在SQL Server建立一个表,再所有任务生成SQL脚本。生成类似如下脚本(注意:把所有GO语句去掉):if exists (select * from dbo.sysobjects where id = object_id(Ndbo.MyTable) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table dbo.MyTableCREATE TABLE dbo.MyTable (ID int NOT NULL ,NAME nchar (4) COLLATE Chinese_PRC_C
23、I_AS NOT NULL) ON PRIMARYALTER TABLE dbo.MyTable WITH NOCHECK ADDCONSTRAINT PK_MyTable PRIMARY KEY CLUSTERED(ID) ON PRIMARY 项目添加现有项。mytable.sql生成操作-嵌入的资源。 将MyInstaller.cs切换到代码视图,添加下列代码:先增加:using System.Reflection; using System.IO; 然后:private string GetSql(string Name)tryAssembly Asm = Assembly.GetEx
24、ecutingAssembly(); Stream strm = Asm.GetManifestResourceStream(Asm.GetName().Name + . + Name); StreamReader reader = new StreamReader(strm); return reader.ReadToEnd(); catch (Exception ex)Console.Write(In GetSql:+ex.Message); throw ex; private void ExecuteSql(string DataBaseName,string Sql)System.Da
25、ta.SqlClient.SqlConnection sqlConn = new System.Data.SqlClient.SqlConnection(); sqlConn.ConnectionString = server=myserver; uid=sa; password=; database=master; System.Data.SqlClient.SqlCommand Command = new System.Data.SqlClient.SqlCommand(Sql,sqlConn); Command.Connection.Open(); Command.Connection.
26、ChangeDatabase(DataBaseName); tryCommand.ExecuteNonQuery(); finallyCommand.Connection.Close(); protected void AddDBTable(string strDBName)tryExecuteSql(master,create DATABASE + strDBName); ExecuteSql(strDBName,GetSql(mytable.sql); catch(Exception ex)Console.Write(In exception handler :+ex.Message);
27、public override void Install(System.Collections.IDictionary stateSaver)base.Install(stateSaver); AddDBTable(MyDB); /建一个名为MyDB的DataBase 添加新项目项目类型:安装和部署项目模板:安装项目名称:MySetup。 应用程序文件夹添加项目输出主输出。 解决方案资源管理器右键安装项目(MySetup)视图自定义操作。安装添加自定义操作双击:应用程序文件夹的主输出来自*(活动)。32.怎样用TreeView显示父子关系的数据库表(winform)?三个表a1,a2,a3, a1为a2看
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 7 《包身工》 公开课一等奖创新教学设计统编版高中语文选择性必修中册
- 幼教机构托管服务协议示范
- 2024版标准房屋买卖合同
- 2024年装修木工施工简单合同
- 技术创新资金配套投资协议
- 图片授权使用合同的关键条款
- 2024年钢筋绑扎分包劳务合同范文共
- 公司合作协议书范本
- 房屋贷款合同中的贷款用途限制
- 外销商品房预售契约补充协议文本
- 人教版二年级上册《道德与法治》全册教学课件+单元复习课件PPT
- 旁站监理记录表(通用)
- 智能云停车系统委托开发合同
- 抖音旅行社商家境外游直播活动策划方案旅行社抖音直播教程
- 大宇迷你破壁机说明书
- 脉诊-教学讲解课件
- 金属非金属矿山矿山法律法规
- 供应商信息管理台账
- 闭合导线全站仪导线测量记录表
- 口腔科运用PDCA循环降低活动义齿返工率品管圈成果汇报
- 常见猪病的防治
评论
0/150
提交评论