学习目标: C#数据库应用程序的开发环境的构成 服务器资源管理器 类型化数据集 创建简单的数据库应用程序 水晶报表 Notes: 类型化数据集 利用服务器资源管理器建立数据连接 利用服务器资源管理器可执行的任务如下...1.数据访问窗体控件 典型数据访问窗体控件有DataGridView,此外在第2章中介绍的许多控件(如TextBox、Label、ComboBox、ListBox等)也可以设置数据源关联到数据表的字段...2.BindingSource 控件的常用属性 1)Count:获取基础列表中的总项数。 2)Current:获取数据源的当前项。 3)Position:获取或设置基础列表中的当前位置。...(2)改变字段位置 单击“改变字段位置”按钮,可改变字段在数据表控件中的位置顺序。 (3)设置字段属性 在“编辑列”对话框右侧为每个字段的属性编辑器。...///单元格单击事件,获取当前选择的单元格的值--以下有3种方法 private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) {...//获取行列坐标索引 //方法一: //int row = e.RowIndex+1; //int col = e.ColumnIndex...+1; //方法二: //int row = dataGridView1.CurrentCell.RowIndex + 1;...//int col = dataGridView1.CurrentCell.ColumnIndex + 1; //方法三: //int row = dataGridView1...方法四: int row = dataGridView1.CurrentRow.Index + 1; //获取当前单元格内容
事件:DataGridView验证单元格输入的是数字,DataGridView源数据是从数据库读取的。 ...需求:当用户输入的不是数字的时候需要提示信息(数据是直接绑定数据库的,因此dataGridView有自己的报错功能,我们需要屏蔽掉它,显示自己的错误提示!) ...实现: 选择DataGridView的CellValidating事件 ? ...grid = (DataGridView)sender; 6 grid.Rows[e.RowIndex].ErrorText = ""; 7...grid = (DataGridView)sender; 6 grid.Rows[e.RowIndex].ErrorText = ""; 7 8
使用 DataGridViewRow.IsNewRow 属性可以判断哪一行是新追加的行。另外,通过DataGridView.NewRowIndex 可以获取新行的行序列号。...("{0} 的位置改变到 {1} ", e.Column.Name, e.Column.DisplayIndex); } ********DataGridView 新加行的默认值的设定 需要指定新加行的默认值的时候...在该事件中处理除了可以设定默认值以外,还可以指定某些特定的单元格的ReadOnly属性等。...; // 获取剪切板的内容,并按行分割 string pasteText = Clipboard.GetText(); if (string.IsNullOrEmpty(pasteText)) return...(bool)boolVal) { e.ContextMenuStrip = this.ContextMenuStrip1; } } CellContextMenuStripNeeded 事件处理方法的参数中
在Windows中绑定是将操作界面和数据源的数据保持一致,即实现操作界面的增删改查与数据库的增删改查一致,这里所说的数据源指数据集或数据表,而窗体可以是Windows窗体或Web窗体,在这里,我们研究关于...事件 说明 CurrentCellChanged 单击单元格时发生 CellContentClick 单击某个单元格时发生 从窗体设计工具箱窗口的“数据”卡片中拖一个DataGridView...下面是DataGridView控件的组成图(图15.9),我们将依据这幅组成图来详细讨论DataGridView单元格值的获取以及单元格、行、列等外观的设置。...你可以像获取数据表数据那样获取DataGridView控件中任意一个单元格的数据,因为DataGridView控件中表示行的集合也是Rows,在每一行对象(DataGridViewRow对象)中又有一个...(); } DataGridView控件提供了CurrentCellAddress属性来获得选中单元格的列表和行标,如下代码修改DataGridView中选中的单元格中对应表中项的值: privatevoid
= 0) { this.uiDataGridView1.Rows.RemoveAt(0); } 我的需求是,单击按钮更新数据,并且删除原有表中数据...,然后执行此代码一直提示无法删除DataGridView中的“无法删除未提交的新行”。...但是我用了SunnyUI的数据表的框架,用原有的DataGridView是可以的,一直解决不了办法,但是用了这个框架SunnyUI的框架解决不了。...仔细查找发现,DataGridView中的AllowUserToAddRowz的属性是True,通过对比,还是发现了这个不同。 最后修改此处代码。...以上清除datagridview数据就可以了,就可以使用上面代码清除DataGridView中的数据了。
C#程序设计及宿舍管理系统实战 打印组件介绍 打印是常用的的功能,打印的原理从本质上和Windows窗体画图的原理是一样的,你在窗体里面画了一个圆,那么同样的代码,打印机也会在纸张的同一个位置打印了出一个圆...(属性) 获取或设置页设置,这些页设置用作打印的所有页的默认设置 DocumentName(属性) 获取或废置打印文档时要显示的文档的名 OriginAtMargins(属性) 获取或设置 一个值该值批示与页关联的图形对象的位置是位于用户指定边距内还是位于该页可打印区域的左上角...Table对象 的Cell对象 代表表格中的单个单元格,Cell对象是Cells集合中的元素,Cells集合中指定对象中所有的单元格。...例如,下面的代码用来指定Excel工作薄中第一行第一列的单元格中的内容为“Excel”: 实现过程: (1) 新建一个Windows应用程序,默认主窗体为Form1. (2)...在Form1窗体中添加一个DataGridView控件和一个Button控件其中DataGridView控件用来显示数据库中的记录,Button控件用来将DataGridView控件中的数据以Excel
this.dgvHistoricDataMng.Rows[i].Cells[j].Value=""; } } Rows代表行的集合...,Columns代表列的集合。...Rows[i].Cells[j]表示第i行的第j个格子。
”与“Chilid子窗体”之间如何相互的调用方法。...C# 子窗体中调用父窗体中的方法(或多窗体之间方法调用) 看似一个简单的功能需求,其实很多初学者处理不好的,很多朋友会这么写: C# Code: //父窗体是是frmParent,子窗体是frmChildA...//在父窗体中打开子窗体 frmChildA child = new frmChildA(); child.MdiParent = this; child.Show(); //子窗体调父窗体方法...假设我们的项目不断在扩展,需要将父窗体与子窗体分开在不同的模块,这段代码就完了!因为父窗体模块必须引用子窗体模块,而子窗体需要用到frmParent的类,又要引用父窗体的模块!...; } #endregion } //来源:C/S框架网(www.csframework.com) QQ:1980854898 子窗体的代码: C# Code: ///<summary
这里此窗体为lvlv_CauseForm 窗体,new一个窗体对象cf后,进行填充,代码如下: lvlv_CauseForm cf = new lvlv_CauseForm(); cf.TopLevel...= false; //设置子窗体为非顶级窗体 cf.Dock = System.Windows.Forms.DockStyle.Fill;//设置样式是否填充整个
本文转载:http://www.cnblogs.com/bribe/archive/2013/10/08/3357345.html 今天在做项目时,看到一软件做的悬浮框效果不错,从网上搜罗了一些资料,未见到有十分好的解决办法...,只能自已动手,利用datagridview 的ToolTipText 来达到此效果。...以下是我简单实现的代码,供参考。
1、取消列自动生成 在窗体load事件里面设置表格dataGridView的AutoGenerateColumns为 false dataGridView.AutoGenerateColumns = false...2、取消所有选中单元格 调用方法ClearSelection dataGridView.ClearSelection() 3、单元格自动换行显示 设置DefaultCellStyle 里面的WarapMode...e) { //获取行对象 var row = dataGridView.Rows[e.RowIndex]; //对行的第一列value赋值 row.Cells[0]....//绘制图标,图标绘制的坐标位置可自己调节 e.Graphics.DrawImage(img, e.RowBounds.Left + dataGridView.RowHeadersWidth...- 40, e.RowBounds.Top + 4, 16, 16); } 7、转换单元格显示 在表格的CellFormatting事件里面进行转换操作,比如一个状态字段是int类型,显示需要转换成对应的字符串显示
使用 DataGridViewRow.IsNewRow 属性能够推断哪一行是新追加的行。另外,通过DataGridView.NewRowIndex 能够获取新行的行序列号。...Console.WriteLine(“{0} 的位置改变到 {1} “, e.Column.Name, e.Column.DisplayIndex); } ********DataGridView...在该事件中处理除了能够设定默认值以外,还能够指定某些特定的单元格的ReadOnly属性等。....CurrentCell.RowIndex; // 获取剪切板的内容,并按行切割 string pasteText = Clipboard.GetText(); if (string.IsNullOrEmpty...{ e.ContextMenuStrip = this.ContextMenuStrip1; } } CellContextMenuStripNeeded 事件处理方法的參数中
C# winform DataGridView 属性说明 ① 取得或者修改当前单元格的内容 ② 设定单元格只读 ③ 不显示最下面的新行 ④ 判断新增行 ⑤ 行的用户删除操作的自定义 ⑥ 行、列的隐藏和删除...使用 DataGridViewRow.IsNewRow 属性可以判断哪一行是新追加的行。另外,通过DataGridView.NewRowIndex 可以获取新行的行序列号....(“{0} 的位置改变到 {1} “, e.Column.Name, e.Column.DisplayIndex); } —————- ⑪ 行头列头的单元格 [C#] // 改变DataGridView1...1) 设定单元格的ToolTip内容 [C#] // 设定单元格的ToolTip内容 DataGridView1[0, 0].ToolTipText = “该单元格的内容不能修改”; // 设定列头的单元格的...在该事件中处理除了可以设定默认值以外,还可以指定某些特定的单元格的ReadOnly属性等。
一般来说控件都是放到窗体或任务窗格中,但Excel同样支持将控件放到工作表单元格上,如前面提到的picturebox容器,放到单元格区域上,然后在容器上发图片,实现插入图片功能,同样地也可以存放单选、复选这些控件...自定义控件,可直接用到工作表单元格中 具体实现原理 通过用户配置操作,将需要进行快速录入的区域记录下来,用SelectionChange事件来响应,若用户选择到这些单元格时,就激发事件方法,显示自定义控件...输入过程中动态控制下方DataGridView的查找结果,用户可以按方向箭下上在结果中选择对应的条目,再按Enter或Tab键确定内容录入。...,将自定义控件显示尺寸变大,之前有个关键点是隐藏了自定义控件后再显示,焦点不能顺利落到自定义控件的搜索TextBox上,采用了迂回的隐藏时不是真隐藏,只是缩小成1*1像素大小,好像后来其他位置发现了更好解决方案...,使我们在上层构建业务代码时变得如此轻松,此篇给大家展示了在工作表单元格区域上创建自定义控件的能力,发挥得当,较直接弹出窗体的效果要友好得多。
string boolean bool 注意:C#中布尔类型的关键字与java不同,使用bool,C#中字符串数据类型是小写的。...Java中System.out.println();方法的用法相同.第三种方式可是C#中的新东西....,默认为true ShowInTaskbar 确定窗体是否出现在Windows任务栏中,默认为true StartPosition 确定窗体第一次出现时的位置 Text 窗体标题栏中显示的文本...DataGridView的列是否移动 ReadOnly 指定单元格是否为只读 AllowUserToAddRows 是否允许用户增加行 false AllowUserToDeletRows 是否允许用户删除行...详细请看P214页 (1)创建窗体,设计窗体界面 (2)设置窗体中DataGridView的属性 (3)填充数据集,显示数据 (4)将修改后的数据提交到数据库 (5)实现按性别筛选功能 8-
基于C#的WinForm中DataGridView控件操作汇总 一、单元格内容的操作 *****// 取得当前单元格内容 Console.WriteLine(DataGridView1...使用 DataGridViewRow.IsNewRow 属性可以判断哪一行是新追加的行。另外,通过DataGridView.NewRowIndex 可以获取新行的行序列号。...("{0} 的位置改变到 {1} ", e.Column.Name, e.Column.DisplayIndex); } ********DataGridView 新加行的默认值的设定...在该事件中处理除了可以设定默认值以外,还可以指定某些特定的单元格的ReadOnly属性等。...CurrentCell.RowIndex; // 获取剪切板的内容,并按行分割 string pasteText = Clipboard.GetText(); if (string.IsNullOrEmpty
开发背景 完整代码下载地址:点我下载 优化移步: 《c#中在datagridview的表格动态增加一个按钮方法》 《C#实现多窗口切换:Panel详细教程(亲测)》 文章还在更新,上次更新时间2022...Cells[0].Value; //获取所在行第一列的元素 dataGridView1.Rows.RemoveAt(index); MessageBox.Show(aa.ToString()); 这一步的作用是获取到鼠标选中所在行的第一列元素的值...[0].RowIndex; //获取所在行 var aa = dataGridView1.Rows[index].Cells[0].Value; //获取所在行第一列的元素 dataGridView1....),实现简单 接收窗体需要如下代码: (这里的id为string是因为我们在dataGridView1获取到的值类型为string所以这里我们用字符串接收,搞错类型就会报错红) string...答:通过表单传值获取到的id进行数据库语句删除,删除本地的再删除数据库里面的 窗口如何传值: 本次通过构造函数,特点:传值是单向的(不可以互相传值),实现简单 实现代码如下: 在目标窗体中 int
AfxGetMainWnd AfxGetMainWnd获取自身窗体句柄 HWND hWnd = AfxGetMainWnd()->m_hWnd; GetTopWindow 函数功能:...该函数检查与特定父窗体相联的子窗体z序(Z序:垂直屏幕的方向,即叠放次序),并返回在z序顶部的子窗体的句柄。...GetActiveWindow 函数功能:该函数能够获得与调用该方法的线程的消息队列相关的活动窗体的窗体句柄(就是取得当前进程的活动窗体的窗体句柄)。...GetSafeHwnd 函数功能:获取某个窗体对象(CWnd的派生对象)指针的句柄(HWND)时,最安全的方法是使用GetSafeHwnd()函数。...这个原子(一个16bit的值),必须被放置在lpClassName的低位字节中,lpClassName的高位字节置零。
本文介绍一种只在当前编辑单元格中显示下拉列表框的方法,供大家参考。 ...打开窗体代码窗口,在代码窗口中声明一个ComboBox的控件 // 定义下拉列表框 private ComboBox cmb_Temp = new ComboBox(); 我们要绑定的下拉列表框的功能是选择性别...(或者数据集),然后绑定到DataGridView中的,这里我们为了避免连接数据库,手中构造一个数据库表,代码如下: private void BindData() { DataTable dtData...dgv_User_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e) { this.cmb_Temp.Visible = false; } 绑定数据表后将性别列中的每一单元格的...DataGridViewColumnEventArgs e) { this.cmb_Temp.Visible = false; } // 绑定数据表后将性别列中的每一单元格的
领取专属 10元无门槛券
手把手带您无忧上云