声明:因为本文章是自己在开发过程中整理的资料,转载请注明出处
1、Winform 获取datagridview选中行的某列数据
for (int i = 0; i < dtGrdCurcy.SelectedRows.Count; i++)
{
string LSTR_Cunumber = dtGrdCurcy.SelectedRows[i].Cells["CuNumber1"].Value.ToString();
//MessageBox.Show(LSTR_Cunumber);
}
2、不允许用户通过鼠标拖拽改变窗体大小,原理是最大值和最小值相等
private void InitCurntForm()
{
dtGrdUnit.DataSource = MoUnit.GetUnit(Ocode, SessionDB, LogID);
MaximumSize = new Size(589, 405); MinimumSize = new Size(589, 405); //不允许用户通过鼠标拖拽改变窗体大小,原理是最大值和最小值相等
}
3、调整列宽模式
AutoSizeColumnsMode属性
AutoSizeColumnsMode:Fill 让所有列宽铺满整个表格
4、允许选择多个单元格、行或列
MultiSelect
5、设置选择一个单元格,可以让整行处于选中状态
SelectionMode : FullRowSelect
6、改变某行背景色
dtGrdUnit.Rows[1].DefaultCellStyle.BackColor = Color.SkyBlue;
7、datatable排序
http://www.7es.cn/Software_development/129.shtml
8、网上发现的datagridview http://www.360doc.com/content/11/0510/17/3705007_115751993.shtml
9、从多列的DataTable里取需要的几列 http://www.cnblogs.com/tinsea/articles/2294216.html
10、 W
11、V
13、 异步 http://blog.csdn.net/qinzhiyang1212/article/details/3583246
14、 http://blog.csdn.net/kafanqd/article/details/4917970
15、e.handled=true 什么意思?什么时候用?
16、
Winform DataGrid自动验证输入内容为非数字!
http://blog.csdn.net/shengyongwang/article/details/4604705
17、 dataGridView空白列就是指dataGridView每一行的头上都会有一个行头,不能绑定数据也不能进行什么操作。不知道大家有没有对此头疼过,我以前都是忽略不管,到后来才发现dataGridView属性面板中有一个设置行头是否显示的属性RowHeadersVisible,将其值设置为false就可以了.
18、 dataGridView默认选中行的背景色是那种蓝色的,看上去很难看不说了,并且dataGridView数据绑定后,默认第一行背景色为蓝色,但第一行并未被选中,针对此情况我是这样解决的,在行中加了一个DataGridViewCheckBoxColumn列,行的选中与否全靠DataGridViewCheckBoxColumn列是否勾选来定,这个下面将要说到,现在先说选中行背景色的问题,点击dataGridView的属性RowDefaultCellStyle右边的按钮,打开CellStyle生成器,将SelectionBackColor改为您要用的背景色就可以了.注意不要把SelectionBackColor和SelectionForeColor设置为同一值,呵呵,会产生颜色覆盖的
19, dataGridView中加入复选框的方法就是指定一列的ColumnType的值为DataGridViewCheckBoxColumn,只要您添加过列就不会陌生,但为了改变其勾选状态,确费了我半天劲,现在问题解决了,回头一看,怎能用一简单二字来形容,
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{//点击一行的任意单元格的内容时发生
if (dataGridView1.Columns[e.ColumnIndex].Name == "Column0")
{
DataGridViewCheckBoxCell dgcb = (DataGridViewCheckBoxCell)dataGridView1.Rows[e.RowIndex].Cells["Column0"];
if ((bool)dgcb.FormattedValue)
{
dgcb.Value = false;
}
else
{
dgcb.Value = true;
}
}
}
20、使用颜色代码修改背景色
dtGrdUnit.Rows[1].DefaultCellStyle.BackColor= System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(156)))), ((int)(((byte)(192)))));
21、DataGridView控件使用大全 http://kb.cnblogs.com/a/2018504/
22、winform 如何使控件随着窗体的大小改变而改变
以button1空间为例,给它的Anchor这个属性赋值不同的值就可以实现空间跟随窗体改变大小以下是源代码,
this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
以下是在属性面板中设置
设置datagridview,除了将Anchor属性改成Top, Bottom, Left, Right之外,还需要设置AutoSizeColumnsMode属性为Fill
23、datagridview在绑定的前提下,将第二列单元格颜色改成数据存储的颜色
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
dataGridView1.Rows[i].Cells[0].Style.BackColor = Color.FromName(dataGridView1.Rows[i].Cells[1].Value.ToString());
}
24、Windows 窗体 DataGridView 控件中的大小调整选项
转载自:http://technet.microsoft.com/zh-cn/74b2wakt(es-es).aspx
在发生很多不同情况时,可以导致 DataGridView 行、列和标题更改大小。 下表显示了这些情况。
情况 | 说明 |
---|---|
用户调整大小 | 用户可以通过拖动或双击行、列或标题分隔符来调整大小。 |
控件调整大小 | 在列填充模式中,如果控件宽度发生更改,则列宽度将更改;例如,当控件停靠在它的父窗体上和用户调整窗体大小时。 |
单元格值更改 | 在基于内容的自动调整大小模式中,大小将为了容纳新的显示值而发生更改。 |
方法调用 | 通过编程实现的基于内容的调整大小允许您在发生方法调用时基于单元格值进行随机的大小调整。 |
属性设置 | 还可以设置特定的高度和宽度值。 |
默认情况下,将启用用户调整大小、禁用自动调整大小并减小宽度大于其列的单元格值。
通过使用下表中显示的方案,可以调整默认行为,或使用特定的调整大小选项来获得特定的效果。
方案 | 实现 |
---|---|
使用列填充模式在占据控件的整个宽度并且个数相对较少的列中显示相似的调整大小数据,而不显示水平滚动条。 | 将 AutoSizeColumnsMode 属性设置为Fill。 |
对大小变化的显示值使用列填充模式。 | 将 AutoSizeColumnsMode 属性设置为Fill。 在用数据填充控件之后,通过设置列FillWeight 的属性或调用控件的AutoResizeColumns 方法来初始化相对的列宽度。 |
对重要性变化的值使用列填充模式。 | 将 AutoSizeColumnsMode 属性设置为Fill。 对必须始终显示其某些数据的列设置大型MinimumWidth 值,或对特定列使用填充模式以外的调整大小选项。 |
使用列填充模式以避免显示控件背景。 | 将最后一列的 AutoSizeMode 属性设置为Fill,并对其他列使用其他调整大小选项。 如果其他列使用了过多的可用空间,可设置最后一列的MinimumWidth 属性。 |
显示固定宽度的列,例如,图标或 ID 列。 | 将该列的 AutoSizeMode 设置为None,并将Resizable 设置为False。 用数据填充控件之后,通过设置Width 属性或调用控件的AutoResizeColumn 方法来初始化它的宽度。 |
一旦单元格内容发生更改,则自动调整大小,以避免发生裁减,并优化空间的使用。 | 将自动调整大小属性设置为可表示基于内容的调整大小模式的值。 若要避免在处理大量数据时性能有损失,请使用只计算所显示的行的调整大小模式。 |
调整大小以容纳显示行中的值,以避免在处理很多行时性能有损失。 | 对于自动或编程的调整大小,使用相应的调整大小模式枚举值。 若要调整大小以便在滚动时容纳新显示的行中的值,请在Scroll 事件处理程序中调用调整大小方法。 若要自定义用户双击时的调整大小,以便仅由显示行中的值来确定新的大小,请在RowDividerDoubleClick 或ColumnDividerDoubleClick 事件处理程序中调用调整大小方法。 |
仅在特定时间调整大小以容纳单元格内容,以避免性能有损失,或启用用户调整大小。 | 在事件处理程序中调用基于内容的调整大小方法。 例如,使用 DataBindingComplete 事件可以在绑定后初始化大小,并通过处理CellValidated 或CellValueChanged 事件以调整大小,从而补偿绑定的数据源中的用户编辑或更改。 |
调整多行单元格内容的行高。 | 确保列宽对于显示文本段落是合适的,并使用自动或编程的基于内容的行调整大小来调整高度。 还要确保使用WrapMode 单元格样式值True 来显示包含多行内容的单元格。 通常,将使用自动列调整大小模式来维护列宽,或在调整行高之前将它们设置为特定的宽度。 |