DataGridView 的使用总结】的更多相关文章

一  需求介绍 一般像枚举类型的数据,我们在数据库里存储着诸如(1.2.3.4-)或者("001"."002"."003"-)此类,但是界面上我们想要显示的是具体的文本内容,以便用户理解使用.所以在从数据库中加载出来的数据 DataTable 绑定到 DataGridView 上时,就需要其中一些枚举列采用下拉框,并绑定对应的枚举数据源. 二  具体实现 首先,如果 DataGridView 的 AutoGenerateColumns 为 tru…
Q1.  如何使单元格不可编辑? A:设置 ReadOnly 属性,可以设置的对象包括 DataGridViewRow(行).DataGridViewColumn(列).DataGridViewCell(单元格)以及自身 DataGridView 对象均可设置 ReadOnly 属性来限制单元格的编辑状态. 扩展:需要注意的是,当 DataGridView 通过 DataSource 绑定数据自动生成行列时,如果直接在 Form 的构造函数初始化界面 InitializeComponent 后直…
在 DataGridView 中设置的 DataGridViewComboBox,默认是不可编辑的,即使将其列属性 DisplayStyle 设置成 ComboBox 或其他,也无法编辑: 故作如下处理: 一  DataGridViewComboBoxCell 重写 DataGridViewComboBox 的单元控件 DataGridViewComboBoxCell /// <summary> /// 自定义可编辑下拉框单元 /// </summary> public class…
//保证显示当前活动单元格 this.Invoke(new Action(() => { dataGridView1.CurrentCell = dataGridView1.Rows[index].Cells[]; })); //添加新行 index=].Value = (index+).ToString();//添加内容 dataGridView1.Rows[index].Cells[].Value = ip;//添加内容 dataGridView1.Rows[index].Cells[].V…
DataGridView中有一种下拉框式的列,给这个列添加下拉事件时需要转化一下才可以绑定下拉事件 /// <summary> /// 服务类型 /// </summary> DataGridViewComboBoxEditingControl cboServiceType = null; #region 维修项目 服务类型 下拉框 事件 /// <summary> /// 设置下拉框值改变时的处理 /// 作者“:李德彦 /// 时间:2015年12月7日 /// &…
怎么将DataGridView的 某个单元格设为ComboBox的样式而不是整列都改变样式? 1.最简单的方法:利用DataGridView提供的DataGridViewComboBoxCell. 写个简单例子: DataGridViewComboBoxCell cbCell = new DataGridViewComboBoxCell(); string[] jgStr = new string[] {"砖混", "框混", "全框架", &q…
使用 DataGridView 控件,可以显示和编辑来自多种不同类型的数据源的表格数据.也可以导出.txt,.xls等格式的文件.今天我们就先介绍一下用DataGridView把导入txt文件,导出xls文件... using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using…
WinForm中DataGridView功能强大,除了可以自动绑定数据源外,还可以根据需求编辑列.下面以截图说明添加编辑列的步骤(HoverTreeSCJ 项目实际界面). 1.选择DataGridView控件,会在右上角出现黑色的小三角形,点击出现快捷菜单: 2.点击“编辑”,就可以在弹出窗口添,删除,或者编辑列.可以设置列的宽度,标题文本等等. 示例源码:http://hovertree.com/h/bjaf/a6dvcspv.htm 也可以百度.必应或者谷歌搜索:HoverTreeSCJ源…
datagridview 单元格内容进行比较时要注意正确写法要用强制转换,否则出错Convert.ToString(grd_order.SelectedRows[0].Cells[1].Value)== "" 或者写成grd_order.Rows[t].Cells[1].EditedFormattedValue.ToString().TrimEnd() != ""也可以 grd_order.Rows[t].Cells[1].value出错grd_order.Rows…
注意:DataGridView控件是从.NET Framework 2.0版本开始追加的. ReadOnly属性的使用 DataGridView内所有的单元格不能编辑 当DataGridView.ReadOnly属性设定为True时, DataGridView内所有的单元格不能编辑. 但是使用这种方法可以对行进行删除.而且最下面的一行被表示,但不能输入. // DataGridView1的单元格只读 DataGridView1.ReadOnly = true; 只有被指定的列.行.单元格不能编辑…
DataGridView:显示数据表,通过此控件中可以实现连接数据库,实现数据的增删改查 一.后台数据绑定:    List<xxx> list = new List<xxx>();      dataGridView1.DataSource = list;      //设置不自动生成列,此属性在属性面板中没有      dataGridView1.AutoGenerateColumns = false;      //取消加载默认选中第一行      dataGridView1…
1.不显示最下面的新行 通常 DataGridView 的最下面一行是用户新追加的行(行头显示 * ).如果不想让用户新追加行即不想显示该新行,可以将 DataGridView 对象的 AllowUserToAddRows 属性设置为 False. DataGridView1.AllowUserToAddRows = false; 但是,可以通过程序: DataGridViewRowCollection.Add 为 DataGridView 追加新行. 2. 为生成的新行添加默认值 当用户选择“…
DataGridView:显示数据表,通过此控件中可以实现连接数据库,实现数据的增删改查 一.后台数据绑定:    List<xxx> list = new List<xxx>();      dataGridView1.DataSource = list;      //设置不自动生成列,此属性在属性面板中没有      dataGridView1.AutoGenerateColumns = false;      //取消加载默认选中第一行      dataGridView1…
注意:DataGridView控件是从.NET Framework 2.0版本开始追加的. 介绍一下DataGridView列的宽度和行的高度,根据单元格或Header的内容(一般是内容全部被表示)自动调整的方法. 内容变更时自动调整 列的宽度自动调整 DataGridView列的宽度自动调整,可以使用DataGridView.AutoSizeColumnsMode属性实现. 下面的代码就是列的宽度根据Header和所有单元格的内容自动调整的. [C#] //根据Header和所有单元格的内容自…
把datagridview中的自动排序功能禁用自己收集的两种方法,看看吧①DataGridView中的Columns属性里面可以设置.进入"EditColumns"窗口后,在相应的列属性设置里面把SortMode属性选择为"NotSortable"②          for (int i = 0; i < this.dataGridView1.Columns.Count;i++){this.dataGridView1.Columns[i].SortMode…
从DataGridView导出Excel的两种情况,不多说,直接记录代码(新建类,直接引用传入参数). using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; using System.Data; namespace cnblogs { public static class LoadExce…
最近写的程序中需要在DataGridView中使用下拉选择的功能,首选方案是列的ColumnType属性 使用EditingControlShowing事件, if (e.Control is ComboBox){ int iColumn = dgvWorkerList.CurrentCell.ColumnIndex; switch (iColumn)  {  case 2://列 { Gender.DisplayStyle = DataGridViewComboBoxDisplayStyle.…
//datagridvie列绑定list的数据 List<User> listChange = GetChange();//查询数据库内容,保存到list this.datagridview1.AutoGenerateColumns = false;//禁止生成不需要的列 this.datagridview1.DataSource = listChange;//list的内容绑定到datagridview Gender.DataSource = listChange;//list的内容绑定到d…
其实想在datagridview中显示excel表格中的数据跟读取数据库中的数据没什么差别,只不过是创建数据库连接的时候连接字段稍有差别. private void btnShow_Click(object sender, EventArgs e) { OpenFileDialog fd = new OpenFileDialog();//首先根据打开文件对话框,选择excel表格 ofd.Filter = "表格|*.xls";//打开文件对话框筛选器 string strPath;/…
在使用DataGridView编辑数据的时候,编辑的单元格一般会显示为文本框,逻辑值和图片会自动显示对应类型的列.当然我们自己可以手工选择列的类型,例如ComboBox列.Button列.Link列.在编辑数值和日期类型的时候,如果使用独立控件,我们会选择NumericUpDown和DataTimePicker,但在DataGridView中编辑的时候就只能用文本列.相比使用独立控件,文本框列缺少数值有效性检测,数值区间限制等功能.从本质上来看,.NET本身提供的DataGridViewChec…
1.DataGridView实现课程表 testcontrol.rar 2.DataGridView二维表头及单元格合并 DataGridView单元格合并和二维表头.rar myMultiColHeaderDgv.rar 3.DataGridView单元格显示GIF图片 gifanimationindatagrid.rar 4.自定义显示DataGridView列(行头显示行号与图标,同一单元格显示图片也显示文字)TestDataGridViewRowStyle2.rar 5.扩展DataGr…
在DataGridView中实现Checkbox的全选的方法就是在列头画一个checkbox, 并给其一个事件. 这个之前很多blog都有写, 这里就不多废话了,  codeproject上面有示例代码. 这里我们再多做一层的封装,将其封装成一个控件,这样的话, 我们就可以最大程度上的复用, 而不需要老是重复写同样的, 无聊的代码了! 思路如下: 继承DataGridViewCheckBoxColumn类, 更改它的headerCell的样式. 添加cellValueChanged时间,使在进行…
一.实现CheckBox列. 1.1 增加CheckBox列: 在DataGridView中增加CheckBox列: 注意:设置ColumnType类型和设置FalseValue为0,TrueValue为1.这两个属性是设置CheckBox打钩和不打勾的Value值. 然后在代码中赋予初始值: 1.2 在DataGridView的CellContentClick事件进行处理: 该事件是在点击CheckBox之后CheckBox的值更改之前触发,可以使用DataGridViewCellEventA…
在控件DataGridView绑定数据源后,发现DataGridViewCheckBoxColumn不能显示当前的check值.经过一番努力,现将完整代码奉献出来,仅供参考. 错误代码: /*禁止自动创建Column*/ this.dgvTestType.AutoGenerateColumns = false; /*设置binding 属性值*/ this.dgvTestType.Columns[0].DataPropertyName ="Id"; this.dgvTestType.C…
转自http://blog.csdn.net/testcs_dn/article/details/37834063 c#DataGridView数据绑定示例 格式化单元格的内容 在使用DataGridView显示数据库中的数据时,我们需要对某列的数据显示格式进行格式化. 这里使用实时构建的数据,如下图: 在显示时对第三列的数据进行格式化,如下图: 测试数据构建及数据绑定: private void Form1_Load(object sender, EventArgs e) { DataTabl…
描述:拉动DataGridView滚动条时会出现闪烁,看起来像是在重画,感觉不是很好. 解决方式:采用双缓存机制,在方案中添加方法. 代码: public static class ExtensionMethods{    public static void DoubleBuffered(this DataGridView dgv, bool setting)    {        Type dgvType = dgv.GetType();        PropertyInfo pi = …
private void btn_add_Click(object sender, EventArgs e)        {            string str_P_ID = "";            string str_P_Type = "";            string str_P_Name = ""; int count = Convert.ToInt32(Dgv_Search.Rows.Count.ToString…
DataTable dt2 =  GetDgvToTable(Form_CY_ProjectRequirements_D);    MessageBox.Show( dt2.Rows.Count.ToString()); //// protected  DataTable GetDgvToTable(DataGridView dgv)        {            DataTable dt = new DataTable();            for (int count = 0…
设置DataGridView的属性SelectionMode为FullRowSelect 这样就使DataGridView不是选择一个字段,而是选择一整行了 设置DataGridView的属性MultiSelect为false 这样就使DataGridView不能够选择多行,只能选择一行了 想得到某列的值是要判断DataGridView是否有选中的行 if (dataGridView1.SelectedCells.Count != 0)            {                /…
最近在学习winform,国庆前被布置了一个小任务,好不容易大致做出来了,决定记录下来,以此加深印象. 先说下需求:这是一个导入话单标记后并导出的功能 1. 选择excel文件 2. 定义字段   日期 时间 对方号码 通话时长 呼叫类型3. 点击datagridview 标题 出现下拉菜单 显示定义的字段4. 标记定义字段列5. 保存定义字段数据 到 datatable6  导出datatable 按照需求一步一步来,先设计界面,需要一个DataGridView和两个Button,一个导入,一…