Tag: datagridview

CancelEdit不会将注意力集中在DataGridView c#中的已编辑单元格上

当我在DataGridView的单元格中输入一些值并单击另一个单元格时,将执行cellvalidating事件处理程序代码。 即使validation填充,我点击的单元格也会突出显示。 我的要求是单元格应保持选中状态,并且在删除无效值后,光标应在单元格中闪烁以进行编辑。 如果validation失败,请使用以下代码: DataGridView1.CancelEdit(); 我试过添加 DataGridView1.CurrentCell.Selected = true; DataGridView1.BeginEdit(true);

选择datagridview中的复选框c#

我在datagridview中有一个下载列表,一个按钮和一个复选框。 我只是在datagridview上手动创建了一个复选框列。 (这是代码) DataGridViewCheckBoxColumn CheckboxColumn = new DataGridViewCheckBoxColumn(); CheckBox chk = new CheckBox(); CheckboxColumn.Width = 20; DataGrid1.Columns.Add(CheckboxColumn); 这是程序。 第1步:用户将选中复选框上的项目。 第2步:用户将在下拉列表中选择项目。 第3步:用户点击按钮,它将更改项目名称 在下拉列表中选择的项目之前的复选框上。 这是我点击按钮后的问题,没有发生。 这是我的代码。 private void button1_Click(object sender, EventArgs e) { int x = 0; foreach (DataGridViewRow item in this.DataGrid1.SelectedRows) { DataGridViewCheckBoxCell chk = (DataGridViewCheckBoxCell)item.Cells[1]; if (chk.Selected) { // codes here } else { //code […]

DataGridView将按钮和文本添加到标题行

我有一个datagridview ,我从循环中填充。 如果我执行以下操作: public Form(Dictionary headers) { InitializeComponent(); foreach (var key in headers.Keys) { datagridview1.Columns.Add(key, key); } } 我得到一个包含文本的标题行。 如何将按钮和文本添加到datagridview1的标题行而不仅仅是文本? 我正在使用winforms和.net 4.5 。 (我想我可以切换到4.5.1,如果它让事情变得更容易)。

C#中DataSet和DataGridView之间的DataBinding

我目前在表单上有一个DataGridView,我想在DataSet中使用DataTable,从SQlite数据库填充(使用System.Data.SQlite)。 所以,我在数据库和DataSet之间有一个DataAdapter,可以直接将DataGridView数据源设置为DataTable。 这显示很好。 我的问题是:为什么我要在这里使用绑定源? 很多教程都说你可以使用或不使用它。 但除了增加额外的步骤之外,它有什么用处吗? 另外,如果我想在更改DataGridView时更新数据库,怎么办呢? DataSet是否自动更新 – 所以我只需要告诉DataAdapter更新? 或者绑定源是否有用? 谢谢!

DataGridView / DataTable | rowState不会更改

我遇到了将数据绑定到DataGridView的问题。 我有一个inheritance自DataGridView的类MyDataGridView。 我的数据网格视图数据源是一个BindingSource对象,它将DataTable作为数据源。 问题是,当我通过(我的)DataGridView对象进行更改时,rowState保持’未修改’而不是修改; 即使DataTable中的值发生了变化(这也是我的更新不起作用的原因,因为它认为rowState是未定义的)。 请注意,直接对DataTable进行更改可以正常工作。 谢谢 (:

使用DataGridView Combobox的SelectionChangeCommitted Event获取新值或索引

我使用SelectionChangeCommitted在combobox选择的索引发生变化时捕获事件,但我无法获得它的新值或索引。 private void ruleList_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { if (e.Control is ComboBox) { ComboBox comboBox = e.Control as ComboBox; comboBox.SelectionChangeCommitted += ruleListColumnComboSelectionChanged; } } private void ruleListColumnComboSelectionChanged(object sender, EventArgs e) { string value = ruleList.CurrentCell.Value.ToString(); // just return the old value before the change }

在datagridview中搜索数据

我有一个datagridview,显示数据库表中的数据。 ID和NAME有两列。 我有一个文本框,我在其中输入名称,这些名称的数据出现在datagridview中。 我已经实现了数据搜索,但我想在comboBox中搜索完成。 当我输入“a”时,所有以“a”开头的名称都应出现在datagridview中。 然后,如果我键入“arn”,则所有以“arn”开头的名称都应出现在datagridview中。 我需要知道是否有内置方法或一些我应该考虑的LOGIC。 我正在使用Linq to Sql。 编辑-1 我在表单类中创建了一个子类 public class Table1 { public int ID; public string Name; public MyList(string _newID, string _newName) { _id = _newID; _name = _newName; } public int _id { get { return ID; } set { ID = value; } } public string _name { […]

DataGridView中的动态ComboBox

我有一个包含4列的DataGridView,其中一列是下拉列表(ComboBox)。 此列中的值必须是不同的,因此一旦在一行中选择了给定的下拉值,我希望它在其他行的任何下拉列表中都不可用。 如果未选择给定值,则应再次显示在下拉列表中。 我发现了一些类似例子的文章( 1,2,3 ); 但是,所有这些似乎都涉及订阅事件并手动填充ComboBox。 是否有办法单独使用数据绑定(可能是IEnumerable,基本上是一个all.Except(selected) Linq查询)? 如果单独数据绑定是不够的,有没有比我找到的例子更好的方法呢? 我对WinForms的开发有点新,所以很难分辨出“是啊……那会起作用的好建议”。

将datagridview从一个表单传递到另一个表单c#

我想将我的datagridview从form1传递给form2.I尝试了构造函数但没有结果,第二种forms的datagridview为空。 有人可以在这里帮助我,我堆积了几个小时。我不使用sql,我不需要使用dataTable.Here是我的代码: 我在datagridview2的cellClick事件上填充datagridview3。 当我点击dayagridview2 cellClick_event时,我的datagridview3填充了这个方法: private void dataGridView2_CellClick(object sender, DataGridViewCellEventArgs e) { DataD d = new DataD(); d.Mat(dataGridView1,dataGridView2,dataGridView3); } 这是填充dataGridView3的方法: public void Mat(DataGridView dataGridView1, DataGridView dataGridView2,DataGridView dataGridView3) { Named n = new Named(); foreach (DataGridViewCell cell in dataGridView2.SelectedCells) { IList lista = new List(); n.Data = string.Empty; n.Data2 = string.Empty; int indexOfYourColumn = 9; int […]

显示datagridview中多个表的数据

我在另一列的一列n个复选框中有一个表列表。 我想通过单击复选框来查看我选择的表的数据 我的代码是 for (int i = 0; i < dataGridView2.Rows.Count; i++ ) { if (dataGridView2.Rows[i].Cells[1].Value != null) { if ((Boolean)dataGridView2.Rows[i].Cells[1].Value == true) { try { string myConnection="datasource=localhost;database=dmrc;port=3306;username=root;password=root"; MySqlConnection myConn = new MySqlConnection(myConnection); string query = "select * from dmrc." + dataGridView2.Rows[i].Cells[0].Value.ToString(); MySqlCommand cmdDatabas = new MySqlCommand(query, myConn); MySqlDataAdapter myDataAdapter = new MySqlDataAdapter(); myDataAdapter.SelectCommand = […]