datagridview(Datagridviewbuttoncell改变颜色)
C#!怎么在DataGridView中进行查询
针对DataGridView中已进行过数据绑定,即已向DataGridView中添加了一些数据,可以结合Linq查询,并让匹配查询的行高亮显示,具体实现如下:
using?System;
using?System.Collections.Generic;
using?System.Linq;
using?System.Windows.Forms;
namespace?Maxes_PC_Client?{
????public?partial?class?frmWelcome?:?Form?{
????????private?int?beforeMatchedRowIndex?=?0;
????????public?frmWelcome()
????????{
????????????InitializeComponent();
????????}
????????private?void?frmWelcome_Load(object?sender,?EventArgs?e)?{
????????????this.dataGridViewInit();
????????}
????????///?summary
????????///?DataGridView添加数据、初始化
????????///?/summary
????????private?void?dataGridViewInit()?{
????????????DictionaryString,?String?map?=?new?DictionaryString,?String();
????????????map.Add("Lily",?"22");
????????????map.Add("Andy",?"25");
????????????map.Add("Peter",?"24");
????????????//?在这里必须创建一个BindIngSource对象,用该对象接收DictionaryT,?K泛型集合的对象
????????????BindingSource?bindingSource?=?new?BindingSource();
????????????//?将泛型集合对象的值赋给BindingSourc对象的数据源
????????????bindingSource.DataSource?=?map;
????????????this.dataGridView.DataSource?=?bindingSource;
????????}
????????private?void?SearchButton_Click(object?sender,?EventArgs?e)?{
????????????if?(this.KeyWord.Text.Equals(""))?{
????????????????return;
????????????}
????????????//?Linq模糊查询
????????????IEnumerableDataGridViewRow?enumerableList?=?this.dataGridView.Rows.CastDataGridViewRow();
????????????ListDataGridViewRow?list?=?(from?item?in?enumerableList
??????????????????????????????????????????where?item.Cells[0].Value.ToString().IndexOf(this.KeyWord.Text)?=?0
??????????????????????????????????????????select?item).ToList();
????????????//?恢复之前行的背景颜色为默认的白色背景
????????????this.dataGridView.Rows[beforeMatchedRowIndex].DefaultCellStyle.BackColor?=?System.Drawing.Color.White;
????????????if?(list.Count??0)?{
????????????????//?查找匹配行高亮显示
????????????????int?matchedRowIndex?=?list[0].Index;
????????????????this.dataGridView.Rows[matchedRowIndex].DefaultCellStyle.BackColor?=?System.Drawing.Color.Yellow;
????????????????this.beforeMatchedRowIndex?=?matchedRowIndex;
????????????}
????????}
????}
}
C# WINFORM中dataGridView的问题
其实有一个简单的方法:
1)使用sqldataadapter的fill方法把数据先全部灌入到datatable中。
2)拖拽一个datagridview到页面上,然后点击右上角的小箭头,选择“编辑列”,然后根据已知数据库的列类型(比如bit类型的应该是添加datagridviewcheckboxcolumn,文本类型的直接添加datagridviewtextboxcolumn;注意设置其中的datapropertyname,务必和绑定的数据列一致)。
3)在form_load或者button事件中,直接:
datagridview1.datasource
=
xxxx;
就可以显示数据了。
4)添加一行或者多行(多行可以使用循环)
双击button,在绑定的datatable中使用newrow()方法:
datarow
dr
=
dt.newrow();
//假设dt是某个绑定的datatable
dt.rows.add(dr);
//把行添加到datatable中
datagridview1.datasource
=
xxxx;
//最后重新绑定数据
C#里怎样清空DataGridview中的数据
1、首先新添加一个按钮(Button控件),修改它的Text属性为“删除第一行数据”。
2、双击该按钮,出现代码编辑界面。
3、添加如下代码://如果dataGridView1中没有数据,就不执行删除操作,直接返回//这里之所以是小于等于1,因为空白行也算一行统计在内if (dataGridView1.Rows.Count = 0){return;}//删除第一行数据,下表从零开始dataGridView1.Rows.RemoveAt(0);。
4、运行(调试)程序,在出现的界面中,点击“添加数据按钮”,添加一条数据。
5、然后点击“删除数据”,并成功删除数据。
怎么获取datagridview
1、在dataGridView的单击或双击事件中怎样获得被单击或双击行的某一列值
dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[x].Value.ToString();
x即为你所选中某一行中的x列的值,当为1时即选中行的第2列的值
2、假如在dataGridView添加一checkbox列,即列类型选择为DataGridViewCheckBoxColumn,在DataGridView外怎样知道哪些行的checkbox被选中呢?并取得选中行的某一列的内容呢?
//循环所有的行
for (int i = 0; i dataGridView1.Rows.Count; i++)
{
//行中的checkbox被选中时(checkbox默认在第一列)
if (Convert.ToBoolean(dataGridView1.Rows[i].Cells[0].Value) == true)
{
MessageBox.Shows(dataGridView1.Rows[i].Cells[x].Value.ToString())
}
}
x即为你所选中某一行中的x列的值,当为1时即选中行的第2列的值
DataGridView的用法
只读属性设定
datagridview.ReadOnly
=
True
行自动追加
datagridview.AllowUserToAddRows
=
False
删除行允许
datagridview.AllowUserToDeleteRows
=
False
行幅设置
datagridview.AllowUserToResizeRows
=
False
datagridview.ColumnHeadersHeightSizeMode
=DataGridViewColumnHeadersHeightSizeMode.DisableResizing
行表示
datagridview.RowHeadersVisible
=
False
行选择模式
datagridview.SelectionMode
=
DataGridViewSelectionMode.FullRowSelect
复数行选择
datagridview.MultiSelect
=
True
选择状态解除
datagridview.ClearSelection()
文字设置位置
datagridview.ColumnHeadersDefaultCellStyle.Alignment
=
DataGridViewContentAlignment.MiddleCenter
选择后行的颜色
datagridview.DefaultCellStyle.SelectionBackColor
=
Color.GreenYellow
datagridview.DefaultCellStyle.SelectionForeColor
=
Color.Black
行幅自动调整
datagridview.AutoSizeColumnsMode
=
DataGridViewAutoSizeColumnsMode.Fill
这是DataGridView
的属性
好像是用行服自动调整
具体我记不清楚了
你试试