08 2012 档案

摘要:1 判断DataGridView是否有选中行,使用dgv.selectedRows.count==0?2 判断点击的那个单元格属于哪一列:DataGridView dgv = (DataGridView)sender; if (dgv.Columns[e.ColumnIndex].Name == "测试设备名称")3 使用列名,而不用数字标号来定位单元格: dgv.SelectedRows[0].Cells["mESTOOLSNAMEDataGridViewTextBoxColumn"].Value.ToString();4 在DataGridView上 阅读全文
posted @ 2012-08-31 11:44 单单的风 阅读(165) 评论(0) 推荐(0)
摘要:报表浏览器存放报表,并为报表设置数据源,我们一般是一个数据源对应一个类对象,这就要我们建个类,类里存放要在报表里显示的信息,这个类就相当于报表也DataTable之前联系的桥梁。rvw.LocalReport.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource("FormIsPatrs_parts", this.is_parts));这句是为报表添加数据源,FormIsPatrs_parts为项目的类,is_parts为DataTable名class parts : System.Data.Da 阅读全文
posted @ 2012-08-26 14:30 单单的风 阅读(148) 评论(0) 推荐(0)
摘要:前两天做关于数据库多行提交的问题,现把其中的一些点列出来说一下,现以多行添加为例来介绍。 多行提交,肯定就是要使用数组,首先要把添加的多行数据更新到DataTable里,然后使用DataTable的GetChanges()函数来获得改变的行,把每一列的信息存放到定义好的数组里面去,然后通过与数据库之前的交互将多行数据循环添加到后台。 现在结合代码具体来介绍一下。写了一行数据的时候就新建一行,并添加到DataTable里1 DataRow row = this.is_parts.NewRow();2 row["PARTS_NAME"] = txtName.Text;3 row 阅读全文
posted @ 2012-08-26 14:18 单单的风 阅读(188) 评论(0) 推荐(0)
摘要:在文件上传下载这个例子中的委托与事件,主要是用于窗体与类之间的交互,在主窗体中定义了FileInfo类的对象fileInfo,当开始上传的时候,主窗体的进度条要根据finleInfo读写的进度进行相应的变化,此处就用到了委托与事件。先看下过程:先在FileInfo类中定义委托,并用委托定义事件public delegate void FileTranEventHandler(object sender, EventArgs e);//定义委托public event FileTranEventHandler FileBuffer;//写完一块触发的事件当点击上传按钮时,当事件的处理方法绑定到. 阅读全文
posted @ 2012-08-18 10:26 单单的风 阅读(306) 评论(0) 推荐(0)
摘要:前几天做了个文件上传下载的例子,就是对Blob对象的上传下载,现把其中遇到的问题以及解决方法在这里再顺一遍。 大家都知道我们的文件是保存在硬盘,也就是外存中的,那我们在上传的时候就要先把文件调入到内存。而内存的容量是有限的,如果我们的文件过于庞大,就会占用太多的内存,所以我们就要把文件分块,然后再把文件一块一块的读入到内存缓冲区中,然后再把缓冲区中的数据读到数据库Blob对象里。那这个Blob对象又是哪来的呢,这就要求我们先向数据库中注册文件的其它信息,包括文件名,文件类型,上传时间等信息,然后同时返回Blob对象名。所以我们需要建一个类来保存文件的信息,以及控制对文件的读写。好,上传大概.. 阅读全文
posted @ 2012-08-18 10:07 单单的风 阅读(1378) 评论(0) 推荐(0)
摘要:此处属性,主要就是为了访问类的私有变量,既保证安全性,又能让别的类可以访问到。例如class Card { private string name; public string Name { get { return this.name; } set { this.name=value; } }不过一般只用Get方法,不用Set方法 阅读全文
posted @ 2012-08-07 19:14 单单的风 阅读(112) 评论(0) 推荐(0)