datagridview(Datagridviewbuttoncell改变颜色)

http://www.itjxue.com  2023-01-28 09:39  来源:未知  点击次数: 

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

的属性

好像是用行服自动调整

具体我记不清楚了

你试试

(责任编辑:IT教学网)

更多

相关免费资源文章

推荐免费资源文章