Winform datagridview 基础

======================================================================================== ==

重点需要掌握

AutoSizeColumnsMode   设置为File    列填充效果

RowHeadersVisible   设置false    第一列不显示

SelectionModel    设置FullRowSelect  行被选中

AllowUserToResizeRows  设置False    DataGridView是否可以调整行的大小

AutoGenerateColumns  设置False   设置不自动生成列,此属性在属性面板中没有

ClearSelection();     取消加载默认选中第一行

取DataGridView的值绑定到文本框 实现方式:在CellClick事件中实现如下代码 方法1

int rowIndex=this.dataGridView控件.CurrentCell.RowIndex;

this.文本框名.Text = this.dataGridView控件[0,rowIndex].Value.ToString(); t

his.文本框名.Text = this.dataGridView控件[1,rowIndex].Value.ToString();

========================================================================================

注意:下列代码中的i是定义成全局变量

///[第一行] 代码如下:

//获取选中行的索引值

this.i = this.dataGridView1.SelectedCells[0].RowIndex;

if (this.i <= 0)   {       MessageBox.Show("已经是第一行了!",                                   "提示",                     MessageBoxButtons.OK,                     MessageBoxIcon.Information);   }

else   {       this.dataGridView1.Rows[i].Selected = false;       this.dataGridView1.Rows[0].Selected = true;   }

///[下一行] 代码如下:

//获取选中行的索引值

this.i = this.dataGridView1.SelectedCells[0].RowIndex;

if (this.i < this.dataGridView1.RowCount - 1) {     this.dataGridView1.Rows[i].Selected = false;     this.dataGridView1.Rows[++i].Selected = true; }

else {     MessageBox.Show("已经是最后一行了!",                                   "提示",                     MessageBoxButtons.OK,               MessageBoxIcon.Information); }

///[上一行] 代码如下:

//获取选中行的索引值

this.i = this.dataGridView1.SelectedCells[0].RowIndex;

if (this.i <= 0)   {       MessageBox.Show("已经是第一行了!",                                   "提示",                     MessageBoxButtons.OK,                     MessageBoxIcon.Information);   }

else   {       this.dataGridView1.Rows[i].Selected = false;       this.dataGridView1.Rows[--i].Selected = true;   }

///[最后行] 代码如下:

//获取选中行的索引值

this.i = this.dataGridView1.SelectedCells[0].RowIndex;

if (this.i < this.dataGridView1.RowCount - 1)   {       this.dataGridView1.Rows[i].Selected = false;       this.dataGridView1.Rows[this.dataGridView1.RowCount - 1].Selected = true;   }

else   {       MessageBox.Show("已经是最后一行了!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);   }

时间: 2024-12-26 06:23:47

Winform datagridview 基础的相关文章

C# winform dataGridView

1 private void btnConn_Click(object sender, EventArgs e) 2 { 3 //定义连接字符串 4 string constr = "server=.;database=DBTest;uid=sa;pwd=sa;"; 5 SqlConnection con = new SqlConnection(constr); 6 try 7 { 8 con.Open(); 9 SqlCommand cmd = new SqlCommand(&quo

C# WinForm DataGridView界面设计小技巧

在窗口中表格是非常常见的数据显示形式,所以界面的展示效果非常重要,通过多次的使用之后发现C# WinForm DataGridView控件默认的显示样式非常之反人类,不过好在可视化操作只需几个简单的属性修改就能得到很好的效果. 下面请看生成的默认属性的DataGridView显示: 非常之反人类的表格. 开始修改下面几个通过名字就能够读懂的属性(当然是通过VS属性窗口修改,也可以在初始化代码中手动修改DataGridView的属性): AllowUserToAddRows=False; //不同

WinForm DataGridView分页功能

WinForm 里面的DataGridView不像WebForm里面的GridView那样有自带的分页功能,需要自己写代码来实现分页,效果如下图: 分页控件  .CS: 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.T

[转]WinForm DataGridView 绑定泛型List(List&lt;T&gt;)/ArrayList不显示的原因和解决

背景:无意间遇到了一个不大不小的问题,希望对一些遇到的人有所帮助! 一.问题 WinForm DataGridView 绑定泛型List (List<T>)/ArrayList不显示,UI 代码如下: using System; using System.Collections.Generic; using System.Data; using System.Data.OleDb; using System.IO; using System.Windows.Forms; namespace W

C# winform datagridview 无需点击两次即可编辑内嵌控件的方法和删除默认的空行的方法

? 1 2 3 4 //点击一下即可对DataGridView中内嵌控件进行编辑,不需要二次点击 dgv.EditMode =DataGridViewEditMode.EditOnEnter; //DataGridView无默认行 dgv.AllowUserToAddRows = false; C# winform datagridview 无需点击两次即可编辑内嵌控件的方法和删除默认的空行的方法

c# winform DataGridView单击选中一整行,只能单选,不能选择多行,只能选择一行

c# winform DataGridView单击选中一整行,只能单选,不能选择多行,只能选择一行 设置DataGridView的属性SelectionMode为FullRowSelect?这样就使DataGridView不是选择一个字段,而是选择一整行了? 设置DataGridView的属性MultiSelect为false?这样就使DataGridView不能够选择多行,只能选择一行了 想得到某列的值是要判断DataGridView是否有选中的行 if (dataGridView1.Sele

[WinForm]DataGridView列头右键菜单

[WinForm]DataGridView列头右键菜单 前言 继续"不误正业" - - #,记录一下.有时候有这样的需求:DataGridView的列头菜单可以选择具体显示哪些列,而数据区域的菜单显示增删改查,这样就需要设置两个菜单了,而DataGridView并没有为列头设置菜单的选项,这里分享一段代码. 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 正文 一.拖拽一个

C# winform datagridview 内嵌控件值改变后立即触发事件,而不需要离开该单元格时才触发,此时需要用到dgv_CurrentCellDirtyStateChanged事件

以下是参考代码 //datagridview内嵌控件值修改事件 private void dgv_CurrentCellDirtyStateChanged(object sender, EventArgs e) { if (dgv.IsCurrentCellDirty) { dgv.CurrentCellDirtyStateChanged -= dgv_CurrentCellDirtyStateChanged; dgv.CommitEdit(DataGridViewDataErrorContex

C# winform datagridview rowheader 添加行标题的方法

#region 写行号事件 //在DataGridView控件上选择RowPostPaint事件 private void dgvJointList_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e) { ((DataGridView)sender).fillRowHeaderIndex(e); } #endregion #region DataGridView的RowPostPaint事件中使用的添加行标题的公用方法