随笔分类 -  C#.net

WebUI中 DataGrid多层表头 的终极解决办法
摘要:因为DataGrid控件的简单易懂,大多数做.NET程序员都喜欢用,有需要把数据显示成表格样式的地方DataGrid会是首选,但是所有的东西都会有好和不好的一面,DataGrid在给我们带来了数据显示方便的同时,也给我们带来了不灵活的问题,多层表头就是例子。 相信大家都遇到过这样的需求:Head1Head2Head3Head4SubTitle1SubTitle2 我在网上Google和Baidu了一下,发现大家都是在DataGrid的ItemCreated和ItemDataBind事件中来实现的(实现的方法太多,这里就不用列举了),我觉得这样做效率不高而且麻烦,因为需要在系统中每个用到Dat. 阅读全文

posted @ 2013-06-24 23:01 ewyb 阅读(435) 评论(0) 推荐(0) 编辑

c#中的volatile关键字
摘要:volatile 关键字指示一个字段可以由多个同时执行的线程修改。声明为 volatile 的字段不受编译器优化(假定由单个线程访问)的限制。这样可以确保该字段在任何时间呈现的都是最新的值。volatile 修饰符通常用于由多个线程访问但不使用 lock 语句对访问进行序列化的字段。volatile 关键字可应用于以下类型的字段:引用类型。指针类型(在不安全的上下文中)。请注意,虽然指针本身可以是可变的,但是它指向的对象不能是可变的。换句话说,您无法声明“指向可变对象的指针”。类型,如 sbyte、byte、short、ushort、int、uint、char、float 和 bool。具有以 阅读全文

posted @ 2012-11-22 15:37 ewyb 阅读(531) 评论(0) 推荐(1) 编辑

无法将lambda表达式转换为类型“System.Delegate”
摘要:this.Invokes(() => { Environ.Tip = msg; int index = dgv.FindIndex("ShuJuBM", ShuJuBM); dgv.set_Text(dgv.Rows[index], "state", "成功"); dgv.set_Text(dgv.Rows[index], "msg", msg); });上面的用匿名类型会出错,改为下面的写法就ok啦。//this.Invokes((Action)(() => //{ // Environ.Tip = 阅读全文

posted @ 2012-11-16 17:36 ewyb 阅读(2342) 评论(1) 推荐(0) 编辑

C#事件-自定义事件的使用方法
摘要:1、声明一个委托类public delegate SomethingChangedHandler(object sender,EventArgs e);2、在你的类中声明一个事件绑定到该委托 public event SomethingChangedHandler Changed;3、在相应的方法中触发此事件public void ChangeSomething(){Changed(this,new EventArgs); //触发事件}4、在调用者订阅事件your class's instance.Changed+=new SomethingChangedHandler(你的方法名) 阅读全文

posted @ 2012-11-12 12:40 ewyb 阅读(258) 评论(0) 推荐(0) 编辑

byte[]与Image Image与 byte[] 之间的转换
摘要:/// <summary>/// 将byte[]转换为Image/// </summary>/// <param name="bytes">字节数组</param>/// <returns>Image</returns>public Image ReadImage(byte[] bytes){MemoryStream ms=new MemoryStream(bytes,0,bytes.Length);BinaryFormatter bf = new BinaryFormatter();object ob 阅读全文

posted @ 2012-08-29 17:34 ewyb 阅读(504) 评论(0) 推荐(0) 编辑

远程报表的调用
摘要:this.reportViewer1.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Remote;this.reportViewer1.ServerReport.ReportPath = @"/Report1";this.reportViewer1.ServerReport.ReportServerUrl = new Uri(@"http://172.20.63.12:8082/reportserver");this.reportViewer1.ServerReport.Repo 阅读全文

posted @ 2012-07-18 21:54 ewyb 阅读(332) 评论(0) 推荐(0) 编辑

在不预览的情况下打印本地报表
摘要:using System;using System.IO;using System.Data;using System.Text;using System.Drawing.Imaging;using System.Drawing.Printing;using System.Collections.Generic;using System.Windows.Forms;using Microsoft.Reporting.WinForms;public class Demo : IDisposable{ private int m_currentPageIndex; private IL... 阅读全文

posted @ 2012-07-17 09:59 ewyb 阅读(346) 评论(0) 推荐(0) 编辑

DataGridView显示行号
摘要:可以做成扩展控件,这里是主要代码:方法一:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->privatevoiddataGridView2_RowPostPaint(objectsender,DataGridViewRowPostPaintEventArgse){using(varbrush=newSolidBrush(dataGridView2.RowHeadersDefaultCellStyle.ForeColor)){e.Graphic 阅读全文

posted @ 2012-07-13 12:27 ewyb 阅读(359) 评论(0) 推荐(0) 编辑

ToString()和Convert.ToString()的用法区别
摘要:一、一般用法说明在C#中所有继承自object的类都有tostring()方法,在没有特别声明的情况下,C#中的类都是默认继承自object,所以都有tostring()方法;而Convert.ToString(param)(其中param参数的数据类型可以是各基本数据类型,也可以是bool或object类对像;二、ToString()和Convert.ToString()的区别一般情况下,这两种方法都可以通用,但是当返回的数据类型中有可能出现null值时如果调用tostring方法了,就会返回NullReferenceException,除非你要捕捉此异常再做处理,否则在这种情况下就应考虑使 阅读全文

posted @ 2011-12-16 10:01 ewyb 阅读(420) 评论(0) 推荐(0) 编辑

用联系的观点看问题——有感DataGridView多选删除问题的解决
摘要:低级错误!本来想实现一个简单的应用。在DataGridView控件中,加入CheckBox列实现多选删除。开始的思路,遍历CheckBox列,如果打了勾则进行删除操作: for (int i = 0; i < dataGridView1.Rows.Count; i++) { object obj = dataGridView1.Rows[i].Cells[0].Value; string select = obj == null ? "" : obj.ToString(); if (select.Trim() == "1") {//在这里从数据源中 阅读全文

posted @ 2011-12-08 11:47 ewyb 阅读(422) 评论(0) 推荐(0) 编辑

把datagridview中checkbox中的对勾的颜色弄成红色
摘要:Winform上添加一个DataGridView,后台实现代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace RedDatagridViewCheckBox{ public partial class Form2 : Form { public Form2() { In 阅读全文

posted @ 2011-12-06 14:21 ewyb 阅读(1234) 评论(0) 推荐(0) 编辑

巧用ComboBox控件实现datagridView下拉菜单功能
摘要:VC++.NET2005中新增加了数据浏览控件DataGridView,虽然我们可以通过其DataGridViewComboBoxColumn方 法在DataGridView中添加下拉框列,但随之而来得问题是一整列的下拉框,很不美观,并且还要编程为其绑定数据,不符合.NET的尽量少干涉的原 则。我最近通过对其Form控件的事件的简单编程实现了VC++.NET2005中DataGridView控件中加入下拉框的功能,写出来供大家参考: 在VS2005中创立一个C++语言的windows窗体应用程序,然后在Form1中添加一个DataGridView控件,这时系统会提示你为DataGridView 阅读全文

posted @ 2011-11-29 16:58 ewyb 阅读(1125) 评论(0) 推荐(0) 编辑

C#Winform中ToolTip的简单用法
摘要:ToolTip信息提示框的作用就不用说了吧,我也没去细研究,只是学习了一下怎么去用,简单记录一下:C#中提供了信息提示框,这有很多用处,可以提示控件或者用户自定义的属性信息,而且可以自动弹出或者用户指定弹出,也可以动画效果弹出。使用方法:①鼠标移动到控件或指定的位置自动显示:ToolTip.SetToolTip 方法 ,注意相关参数的设置。②动画效果:参数:AutoPopDelay InitialDelay ReshowDelay例如:view sourceprint?// Create the ToolTip and associate with the Form container. To 阅读全文

posted @ 2011-11-25 13:34 ewyb 阅读(2612) 评论(0) 推荐(1) 编辑

C# WinForm中MenuStrip动态菜单使用总结
摘要:转载请声明出处:http://www.freemansoft.net/blog/Article/438.aspx在C# WinForm中使用菜单控件,我想MenuStrip是很多人的首选,如何使用我就不多说了,我就讲讲个人的使用心得。以前在使用该控件的时候只知道在窗体设计器中手动输入菜单项目,这样做是比较方便,但却不灵活。某次要做的一个项目,涉及到权限分配,不同权限的人需要用到不同的菜单,这就需要在窗体载入的时候动态创建MenuStrip及其菜单项目。后来上网搜索了很多相关创建动态菜单的代码,但却都不理想,最后只能自己取各家所长,自己动手修改完成了这个东西。我的思路是这样的:1、首先要在数据库 阅读全文

posted @ 2011-11-15 17:42 ewyb 阅读(9997) 评论(0) 推荐(2) 编辑

学习c#反射的一个例子
摘要:usingSystem;usingSystem.Reflection;namespaceTestReflection{classProgram{staticvoidMain(string[]args){INamename=AbstractFactory.GetName();name.ShowName();}}//抽象工厂类publicclassAbstractFactory{publicstaticINameGetName(){stringassemblyName="TestReflection";//类库名字//className的值以后可以在Web.config动态获取 阅读全文

posted @ 2011-11-10 14:14 ewyb 阅读(271) 评论(1) 推荐(1) 编辑

DataGridView冻结底部的合计行
摘要:1.数据部分的DataGridView,不带任何滚动框2.合计部分的DataGridView,带有横向滚动框3.在画面上添加一个纵向滚动框实现的主要思路就是用合计行的横向滚动框控制两个DataGridView的横向滚动,右侧的纵向滚动狂控制数据部分的DataGridView,效果看起来就是合计行始终显示。该例实现了合计行的自动计算,取数据的部分是用程序做的DataTableDataGridView... 阅读全文

posted @ 2010-06-16 11:44 ewyb 阅读(1541) 评论(0) 推荐(0) 编辑

c# 任务栏中图标闪烁效果
摘要:导读:   相信对于QQ消息提示时,在任务栏闪烁的效果,大家肯定都见过,在网上找了些相关资料,发现用c#来实现这个效果并非很难,只是使用了一个控件 NotifyIcon(因为不知道叫什么所以估且叫它任务栏托盘控件).因为并没有对它进行深入学习,所以我只能简单的介绍下基本的用法,来实现闪烁的效果.(winform中)   1.首先我们在空白窗体中拖入一个NotifyIcon控件和定时控件   pri... 阅读全文

posted @ 2009-12-31 15:44 ewyb 阅读(4068) 评论(0) 推荐(0) 编辑

C#编写最小化时隐藏为任务栏图标
摘要:C#编写最小化时隐藏为任务栏图标的Window appllication. 1.设置WinForm窗体属性showinTask=false 2.加notifyicon控件notifyIcon1,为控件notifyIcon1的属性Icon添加一个icon图标。 3.添加窗体最小化事件(首先需要添加事件引用): this.SizeChanged += new System.EventHandle... 阅读全文

posted @ 2009-12-31 11:56 ewyb 阅读(892) 评论(0) 推荐(0) 编辑

c#中选中dataGridView的一行或者多行,然后删除数据库对应的数据
摘要:string cmdText = "delete from 图书表 where 图书编号=@bookid"; OleDbConnection conn = new OleDbConnection(); conn.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data source=你的数据库名字.mdb"; OleDbCommand cmd... 阅读全文

posted @ 2009-12-20 18:45 ewyb 阅读(3295) 评论(0) 推荐(0) 编辑

c#中byte[]和string的转换
摘要:Using System.Text;byte[ ] 转换为stringbyte[ ] image;string ll = Encoding.Default.GetString(image);string 转换为byte[ ]string ss;byte[] b = Encoding.Default.GetBytes(ss);数据库中image类型的字段的处理。首先我想从数据库中读出图片(以imag... 阅读全文

posted @ 2009-12-10 13:05 ewyb 阅读(86960) 评论(1) 推荐(3) 编辑

导航