Tag: datagridview

将数据集保存到数据库

我正在尝试将数据集保存到数据库。 我从另一个类获得了一个数据集,现在用户在datagridview上对表单进行更改,然后需要将更改的数据集保存在数据库中。 我使用下面的代码; 它不会产生任何错误,但数据不会保存在数据库中。 public class myForm { DataSet myDataSet = new DataSet(); public void PouplateGridView() { try { SqlService sql = new SqlService(connectionString); // Valid Connection String, No Errors myDataSet = sql.ExecuteSqlDataSet(“SELECT * FROM Qualification”); // Returns a DataSet myDataGridView.DataSource = myDataSet.Tables[0]; myDataGridView.AutoGenerateColumns = true; myDataGridView.AutoResizeColumns(); } catch (Exception ex) { MessageBox.Show(ex.InnerException + Environment.NewLine […]

如何将复杂对象绑定到DataGridView?

我有一个遵循表格的类: public class Cat { public string Name { get; set; } public string Description {get; set; } public List Cheezbugers { get; private set; } }; public class Cheezburger { public int PattyCount { get; set; } public bool CanHaz { get; set; } }; 我希望能够在DataGridView显示一个Cats List ,如下所示: ——————————————————————————— | Name | Description | […]

在LINQ中使用DataGridViewRowCollection对象

我想使用扩展方法和lambda表达式在LINQ表达式中使用DataGridViewRowCollection 。 不幸的是,扩展方法适用于IEnumerable类型, DataGridViewRowCollection没有实现。 有趣的是,我可以在这里使用类似SQL的语法LINQ: IEnumerable lRows = from DataGridViewRow row in dgvGrid.Rows select row; 在这之后,我可以使用LINQ扩展方法: foreach (DataGridViewRow lRow in lRows.Where(row => row.index > 4)) { … } 有没有什么办法可以将我的DataGridViewRowCollection转换为IEnumerable而不使用那个长的第一个语句? 同样的事情适用于DataGridViewCellCollection和DataGridViewColumnCollection 。 PS。 我正在使用.net framework 3.5

如何在数据绑定期间自定义datagridview中的数据格式

我正在寻找一种格式化DataGridViewTextBoxColumn的方法,以便在数据绑定期间格式化数据绑定的值。 例如,我有一个CompanyName属性,当数据绑定发生时,我需要从CompanyName获取前5个字母。 我可以挂钩不同的DataGridView事件(例如RowsAdded)并循环遍历所有行并执行操作,但我想找到更复杂的方法来执行此操作。 由于我已决定使用数据绑定,因此循环数据并对其进行修改有点违背了数据绑定概念。 我所追求的是如何做到如下,但添加自定义格式逻辑: dataGridView1.Columns[colSomeDate.Index].DataPropertyName = “SomeDate”; colSomeDate.DefaultCellStyle.Format = “yyyy”; 我想我应该实现IFormatProvider,但我不太明白我应该如何实现它。 dataGridView1.Columns[companyName.Index].DataPropertyName = “CompanyName”; companyName.DefaultCellStyle.FormatProvider = new ShortText(); // ShortText should implement IFormatProvider

DataGridView编辑列名称

有没有办法在DataGridView中编辑列名?

DataGridView ID列不会隐藏

我有一个绑定到ObjectDataSource的DataGridView,其中一些列被隐藏,包括ID列。 问题是,即使将其visible属性设置为false,ID列也会显示。 有没有人遇到过这个问题? 将宽度设置为零不是一个选项,因为网格不允许宽度小于5像素宽的列,因此无论如何它仍然显示网格上的列。 奇怪的是ID列并不总是显示。 在我的应用程序上工作了一点后,列再次出现。 DataGridView未设置为自动生成列。 我正在构建到.NET和C#的4.0版本。 这是表单构造函数中的代码。 dgvActiveMiners.AutoGenerateColumns = false; dgvAvilableMiners.AutoGenerateColumns = false; dgvOperationResults.AutoGenerateColumns = false; dgvActiveMiners.Columns[“dgvActiveMinersRecordId”].Visible = false; dgvAvilableMiners.Columns[“dgvAvilableMinersRecordId”].Visible = false; dgvOperationResults.Columns[“dgvOperationResultRecordId”].Visible = false; 这是生成的网格代码。 this.dgvOperationResults.AllowUserToAddRows = false; this.dgvOperationResults.AllowUserToDeleteRows = false; this.dgvOperationResults.AutoGenerateColumns = false; this.dgvOperationResults.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.dgvOperationResults.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.dgvOperationResultRecordId, this.nameDataGridViewTextBoxColumn2, this.typeIdDataGridViewTextBoxColumn, this.amountDataGridViewTextBoxColumn, this.operationIdDataGridViewTextBoxColumn}); this.dgvOperationResults.DataSource = this.operationResultBindingSource; this.dgvOperationResults.Location = new System.Drawing.Point(12, […]

在DataGridView中禁用列标题排序的最佳方法

我需要在DataGridView禁用列标题排序。 我们可以通过设置各个列的属性来实现 BalancesGridView.Columns[1].SortMode = DataGridViewColumnSortMode.NotSortable; 如果是这种情况,那么我将不得不遍历所有列。 有没有更好的办法 ?

DataGridView单元格中的多行

使用C# Windows Forms ; 我有一个带有许多单元格的DataGridView 。 我想在单元格中显示数字(从1-9开始)。 数字应以3×3格式放在彼此之下。 我环顾四周,最后只得到了一个相当复杂的richtextbox单元的自定义实现。 有没有办法我可以绘制一个custom rectangle ,然后将其实现为单元格的backgroundimage或什么? 细胞需要重新绘制几次。 所以我不能只调用我想的paint事件。 注意:用户不得编辑单元格。

如何仅使用自定义对象显示DataGridView中的某些列

我有一个DataGridView,我需要添加自定义对象。 请考虑以下代码: DataGridView grid = new DataGridView(); grid.DataSource = objects; 使用此代码,我得到一个DataGridView对象,其所有属性都是列。 就我而言,我不想展示所有这些信息; 我想只展示两三列。 我知道我可以设置 AutoGenerateColumns = false 。 但我不知道如何继续进行。 一种选择是隐藏所有我不感兴趣的列,但我认为最好以相反的方式进行。 我怎样才能做到这一点?

如何在来自HttpWebResponse的c#windows应用程序中的dataGridView中显示Json DATA

json数据,我来自HTTPWebResponse [{ “testId”:1, “测试名”: “HTML”, “MinScore是”:20, “得分”:40, “日期”: “2014年12月2日”, “状态”: “通过”},{ “testId”:1, “测试名”: “JAVA”, “MinScore是”:20, “分数”:10, “日期”: “2014年12月2日”, “状态”: “FAILED”}] HttpResponseMessage Response = await client.PostAsync(“http://motivtechindia.com/quiz/ws/empquizs”, content); int statusCode = (int)Response.StatusCode; string results = await Response.Content.ReadAsStringAsync(); MessageBox.Show(results);`enter code here` ___________________________________________________________________________________________消息框显示: [{ “testId”:1, “测试名”: “HTML”, “MinScore是”:20, “得分”:40, “日期”: “2014年12月2日”, “状态”: “通过”},{ “testId”:1, “测试名”: “JAVA”, “MinScore是”:20, “分数”:10, “日期”: […]