3.ADO.NET对象 数据库应用程序的设计步骤 1.创建解决方案的项目 2.添加Windows窗体 3.设计用户界面 4.创建事件处理程序和编译、调试、运行程序 数据源控件与数据访问窗体控件...2)EndEdit方法:将挂起的更改应用于基础数据源。 3)CancelEdit方法:取消当前的编辑操作。 4)Add方法:将现有项添加到内部列表中。...单击该属性右侧的按钮 ,进入如图5-26所示的“CellStyle(单元格类型)生成器”对话框,可设置单元格的对齐方式、背景色、前景色等。 HeaderText:设置字段标题。...///单元格单击事件,获取当前选择的单元格的值--以下有3种方法 private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs....Text = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();//利用下标返回值 } ///单元格内容点击事件
ReadOnly 是否可以编辑单元格 DataPropertyName 绑定的数据列的名称 HeaderText 列标题文本 Visible 指定列是否可见 Frozen 指定水平滚动DataGridView...时列是否移动 ReadOnly 指定单元格是否为只读 ColumnCount DataGridView中显示的列数 RowCount DataGridView中显示的行数 Rows 所有控件的行 CurrentCell...事件 说明 CurrentCellChanged 单击单元格时发生 CellContentClick 单击某个单元格时发生 从窗体设计工具箱窗口的“数据”卡片中拖一个DataGridView...l MultiSelect属性:是否允许选择多行 5.1.2 将DataGridView绑定到数据集 将DataGridView属性绑定到数据源,通过设置其DataSource...下面是DataGridView控件的组成图(图15.9),我们将依据这幅组成图来详细讨论DataGridView单元格值的获取以及单元格、行、列等外观的设置。
通过将水晶报表的报表处理功能不听整合到自己的数据库应用程序中,应用程序和Web开发人员可以节省开发时间并满足用户的需求。水晶报表支持大多数流行的开发语言。可以方便地在任何应用程序中添加 报表。...1 利用Word打印员工报表 Microsoft Word 是微软公司提供的文档处理软件,在处理文档和资料的过程中显示出了强大的功能。...本实例在打印某企业的员工信息时,实现了通过将数据导入到Word文档中进行打印的功能。运行本实例,如图所示,单击“输出Word“按钮,DataGridView控件中的数据便以Word文档方式打开。...,其中,DataGridView控件用来显示数据库中的记录,Button控件用来将DataGridView控件中的数据以Word文档格式输出; (3) 主要程序代码,在DataGridView控件中显示数据的实现代码如下...在Form1窗体中添加一个DataGridView控件和一个Button控件其中DataGridView控件用来显示数据库中的记录,Button控件用来将DataGridView控件中的数据以Excel
给dataGridView1的CellMouseDown事件添加处理程序: private void dataGridView1_CellMouseDown(object sender, DataGridViewCellMouseEventArgs... = false;//必须在代码中设置 4).显示图片 通常,我们将图片路径保存在数据库中,但在dataGridView1中要显示图片,可以进行如下操作: ①.添加一个DataGridViewTextBoxColumn...控件DataBindingComplete事件处理程序如下: private void DataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs...不启用删除 dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;//单击单元格选中整行 dataGridView1...已经将列标题默认对齐方式设置为居中: dataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
给dataGridView1的CellMouseDown事件添加处理程序: private void DataGridView1_CellMouseDown(object sender, DataGridViewCellMouseEventArgs...; //禁止手工调整列大小 dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;//单击单元格选中整行...dataGridView1.MultiSelect = false;//禁用多选 9.显示图片 通常,我们将图片路径保存在数据库中,但在dataGridView1中要显示图片,可以进行如下操作:...控件DataBindingComplete事件处理程序如下: private void DataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs...已经将列标题默认对齐方式设置为居中: dataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
将 CurrentCell 设为 Nothing(null) 能够取消激活的单元格。...列顺序发生改变时会引发 ColumnDisplayIndexChanged 事件: // DataGridView1的ColumnDisplayIndexChanged事件处理方法 private...新加行的默认值的设定 须要指定新加行的默认值的时候,能够在DataGridView.DefaultValuesNeeded事件里处理。...在该事件中处理除了能够设定默认值以外,还能够指定某些特定的单元格的ReadOnly属性等。...可是能够通过程序,调用 DataGridView.BeginEdit 方法,使单元格进入编辑模式进行编辑。
判断是否双击表头 是否双击表格行 20 表头背景色 表头字体颜色 表头高度 s ——————————————————————————– ① DataGridView 取得或者修改当前单元格的内容:...但是可以通过程序,调用 DataGridView.BeginEdit 方法,使单元格进入编辑模式进行编辑。...列顺序发生改变时会引发 ColumnDisplayIndexChanged 事件: // DataGridView1的ColumnDisplayIndexChanged事件处理方法 private...需要指定新加行的默认值的时候,可以在DataGridView.DefaultValuesNeeded事件里处理。...在该事件中处理除了可以设定默认值以外,还可以指定某些特定的单元格的ReadOnly属性等。
将 CurrentCell 设为 Nothing(null) 可以取消激活的单元格。...列顺序发生改变时会引发 ColumnDisplayIndexChanged 事件: // DataGridView1的ColumnDisplayIndexChanged事件处理方法 private void...,可以在DataGridView.DefaultValuesNeeded事件里处理。...在该事件中处理除了可以设定默认值以外,还可以指定某些特定的单元格的ReadOnly属性等。...但是可以通过程序,调用 DataGridView.BeginEdit 方法,使单元格进入编辑模式进行编辑。
对于DataGridView控件,与单元格内容相关的有以下这几个事件: // 当单元格内容改变并且提交之后发生(提交一般是单元格在编辑完之后失去焦点...private void dataGridView_CellEndEdit(object sender, DataGridViewCellEventArgs e) { } 但是以上这几个事件都不能实现每次向单元格输入新的内容时发生...举个例子,我单击一个单元格,则单元格进入编辑状态,CellBeginEdit事件发生,然后我输入1,2……乃至更多的东西,上述的事件也不会发生。另外Key*系列的事件也试过,也没反应。...如果要像TextBox那样,每输入一个字符就发生一次的事件怎么办呢?可以用以下方法。原来dataGridView控件的单元格只是个容器,他可以容纳其他的控件,最一般的就是一个文本框。...EditingControlShowing事件比上述事件还要早发生,他是dataGridView控件为了使用户可以编辑,而加载一个TextBox(如果单元格时复选框,是其他的控件,那么就加载对应的控件)
将 CurrentCell 设为 Nothing(null) 可以取消激活的单元格。...列顺序发生改变时会引发 ColumnDisplayIndexChanged 事件: // DataGridView1的ColumnDisplayIndexChanged事件处理方法 private void...需要指定新加行的默认值的时候,可以在DataGridView.DefaultValuesNeeded事件里处理。...在该事件中处理除了可以设定默认值以外,还可以指定某些特定的单元格的ReadOnly属性等。...但是可以通过程序,调用 DataGridView.BeginEdit 方法,使单元格进入编辑模式进行编辑。
(row);}编辑数据:使用DataGridView的CellEndEdit事件来捕获数据的更改。...:根据显示的单元格内容自适应单元格宽度,除了列标题。..."; } }}上述代码中,首先创建了一个DataGridView控件,并为其设置了数据源,然后将其添加到窗体中。...在按钮的单击事件中,将选中的行复制到剪贴板中,并设置了复制到剪贴板的内容类型为包含列标题的内容。...ColumnHeadersVisible:用于控制列标题是否可见。可以设置为True或False。Columns:用于获取或设置DataGridView控件的列集合。可以通过该属性添加、删除、编辑列。
用于在单元格中显示超链接,不会在绑定时自动生成,通常需要进行手动绑定数据 二、绑定模式 就是将已经存在的数据绑定到DataGridView控件上。....DataSource=dict; 第七种:可以排序 DataView dv=new DataView(); this.dataGridView1.DataSource=dv; 示例程序: 下面的程序中...; drRow1.Cells[1].Value = "测试"; drRow1.Cells[2].Value = true; //将新创建的行添加到...//将创建的列添加到DataGridView中 dgv.Columns.Add(tbc); } /// //...cbc.Visible = _visible; //将创建的列添加到DataGridView中 dgv.Columns.Add(cbc);
(最小化),默认值为Normal b.窗体的重要事件 事件: Load 窗体加载事件,窗体加载时发生 MoseClick 鼠标单击事件,当用户单击窗体时发生 MouseDoubleClick...指示单选按钮是否以选中 Text 单选按钮显示的文本 事件 Click 单击单选按钮时发生 (5)列表框【ListBox】 属性 Items 列表框中所有的项 Text 当前选定的文本...的数据源 ReadOnly 是否可以编辑单元格 DataPropertyName 绑定的数据列的名称 HeaderText 列标题文本 Visible 指定列是否可见 Frozen 指定水平滚动...DataGridView的列是否移动 ReadOnly 指定单元格是否为只读 AllowUserToAddRows 是否允许用户增加行 false AllowUserToDeletRows 是否允许用户删除行...(2)设置DataGridView的属性和个列的属性 (3)指定DataGridView的数据源 c.如何保存修改后的数据 (1)增加"保存修改"按钮 (2)编写事件处理方法 d.常见错误
1、取消列自动生成 在窗体load事件里面设置表格dataGridView的AutoGenerateColumns为 false dataGridView.AutoGenerateColumns = false...2、取消所有选中单元格 调用方法ClearSelection dataGridView.ClearSelection() 3、单元格自动换行显示 设置DefaultCellStyle 里面的WarapMode...表格RowPostPaint事件 private void dataGridView_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs...- 40, e.RowBounds.Top + 4, 16, 16); } 7、转换单元格显示 在表格的CellFormatting事件里面进行转换操作,比如一个状态字段是int类型,显示需要转换成对应的字符串显示...]; //取得列值,如果是绑定的数据,可以将row.DataBoundItem转换成绑定对象再取值判断 var cell=row.cell[0].value.ToString
btnUpdate.Enabled = true; btnAdd.Enabled = false; btnDel.Enabled = true; 单元格的行选中属性...:FullRowSelect //单击的时候,选中项改变事件 private void dataGridView1_SelectionChanged(object sender, EventArgs e...) { txtDeptId.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();...DataSource = deptService.refreshData(); 1.2 二.删除功能 2.1 UI端 DialogResult dialog = MessageBox.Show("您确认是否删除...dgvStuList.DataSource=stuService.queryByCondition(currContext); } /// /// 选择框的更改事件
两个事件 CurrentCellDirtyStateChanged事件是提交对checkbox状态的修改 CellValueChanged事件是当状态提交后,也就是单元格值改变后做一些其它的操作,这里是将...dataGridView1_CurrentCellDirtyStateChanged(object sender, EventArgs e) { if (this.dataGridView1.IsCurrentCellDirty...} } CellValueChanged事件代码 : private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs..."] as DataGridViewButtonCell;//获得button列单元格 DataGridViewCheckBoxCell dgvCheckBoxCell...= this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex] as DataGridViewCheckBoxCell;//获得checkbox列单元格
首先新建一个Windows应用程序,将主窗体重命名为MainForm,在MainForm中加入一个DataGridView控件,命名为dgv_User。如下图所示: ? ...DataGridView控件中 this.dgv_User.Controls.Add(cmb_Temp); } 当用户选择的单元格移动到性别这一列时,我们要显示下拉列表框,添加如下事件 private...DataGridView控件中 this.dgv_User.Controls.Add(cmb_Temp); } // 当用户移动到性别这一列时单元格显示下拉列表框...this.cmb_Temp.Visible = false; } // 改变DataGridView列宽时将下拉列表框设为不可见 private void...DataGridViewColumnEventArgs e) { this.cmb_Temp.Visible = false; } // 绑定数据表后将性别列中的每一单元格的
在代码中,使用SelectedIndexChanged事件处理程序来处理选项更改时的行为。...,右键单击控件时将显示菜单,其中菜单项和分隔符将依次显示。...右键单击第一个ToolStripMenuItem控件,选择“属性”选项。在“事件”选项卡中,双击“Click”事件以创建一个事件处理程序。在事件处理程序中编写代码以删除选定的ListView项目。...在“事件”选项卡中,双击“Click”事件以创建一个事件处理程序。在事件处理程序中编写代码以将选定的ListView项目复制到剪贴板。...在“事件”选项卡中,双击“MouseClick”事件以创建一个事件处理程序。在事件处理程序中编写代码以检查单击是否是鼠标右键单击,并显示ContextMenuStrip控件。
一般来说控件都是放到窗体或任务窗格中,但Excel同样支持将控件放到工作表单元格上,如前面提到的picturebox容器,放到单元格区域上,然后在容器上发图片,实现插入图片功能,同样地也可以存放单选、复选这些控件...自定义控件,可直接用到工作表单元格中 具体实现原理 通过用户配置操作,将需要进行快速录入的区域记录下来,用SelectionChange事件来响应,若用户选择到这些单元格时,就激发事件方法,显示自定义控件...输入过程中动态控制下方DataGridView的查找结果,用户可以按方向箭下上在结果中选择对应的条目,再按Enter或Tab键确定内容录入。...具体代码 先绑定事件 internal void ExcelApp_SheetSelectionChangeFastInput(object Sh, Excel.Range Target...} return base.ProcessDialogKey(keyData); } 改变其默认功能后,就可以像其他键一样捕捉其KeyDown事件
这里,我将解释如何在没有数据库的windows窗体中绑定datagrid。 当我们使用windows窗体或web窗体时,这个需求非常有用。我的要求很简单。当我们输入所有字段并单击Book按钮时。...3、将此列column添加到datatable 4、创建一个包含输入控件所有值的行。 5、将datatable绑定到Datagrid。 在做这个之前,我们需要先添加一个命名空间。....DataSource = dt; 这些就是完整代码,很简单,还需要把这些代码添加到一个方法里,并在按钮单击时调用该方法。...在将行绑定到datagrid时,输入一个条件。首先,检查该数据表中是否有数据。如果没有数据,则绑定datagrid中的列标头,否则只绑定没有datacolumn标头的行。...因此,通过这种方式,我们就可以在windows应用程序中维护datatable状态。