Tag: datagridview

隐藏DataGridView中的行,绑定在我的项目中不起作用

我在项目中面临一个关于DataGridView行隐藏的问题。 我粘贴的代码在一个单独的测试项目中工作,但不在我的项目中。 请帮帮我。 我正在测试的代码 public partial class frmTestGirdBinding : Form { CustomDataCollection cdata = new CustomDataCollection(); Random rnd = new Random(); public frmTestGirdBinding() { InitializeComponent(); } private void frmTestGirdBinding_Load(object sender, EventArgs e) { BindingSource bindingSource1 = new BindingSource(); bindingSource1.DataSource = cdata; dataGridView1.DataSource = bindingSource1; //bindingSource1.Filter = “Srno = 3”; not working CurrencyManager cm = (CurrencyManager)BindingContext[bindingSource1.DataSource]; […]

C#窗口形成2个带有同步滚动的网格视图

我正在开发一个应用程序,其中从不同的数据源填充两个datagridviews。 我想有一个垂直滚动条,可以使两个网格视图同时工作(一起向上和向下滚动) 任何人都可以告诉我如何或指导我一个好的教程。

以编程方式取消选中datagridview中的checkboxcolumn

如何以编程方式取消选中datagridview中DataGridViewCheckboxColumn中的所有行? 我可以使用复选框获取正确的值 (bool)row.Cells[CheckBoxColumn.Index].FormattedValue 但那只是一个吸气剂。 我已经尝试使用设置单元格的值 (bool)row.Cells[CheckBoxColumn.Index].value = false 但这不会影响FormattedValue。 我怎么解决这个问题?

在编辑时处理dataGridView FormatExeption

我正在制作一个包含四列的datagridview。 最后一列的类型是DateTime,以小时和分钟为单位(HH:mm)。 DataTable.Columns.Add(“Time”, typeof(DateTime)); //fourth column dataGridView2.Columns[3].DefaultCellStyle.Format = “HH:mm”; 当我输入有效的HH:mm(12:37)格式时,它可以正常工作,但如果格式无效,它会给我一个错误信息(12:374)。 The string wasn’t regigniced as a valid DateTime –> System.FormatExeption 它告诉我处理“DataError-exeption / FormatExeption”来改变发生错误时会发生什么,但是我该怎么做呢? 我希望它回到错误发生之前的值。 任何帮助将不胜感激。 提前致谢。 PS。 如果我不清楚某个地方,或者您需要更多信息,那么只需解释一下需要什么。 编辑:我正在直接从dataGridView编辑时间值。

使DataGridViewRow不可见的更快方法

我正在使用以下代码将一堆DataGridViewRow元素设置为不可见。 我使用的规则是检查关联数据源的布尔标志。 如果该标志为true,则将显示该行。 如果没有,它将是隐形的。 以下代码有效; 然而,它是通过消耗相当多的时间来实现的: CurrencyManager currencyManager = (CurrencyManager)BindingContext[dataGridView.DataSource]; currencyManager.SuspendBinding(); foreach (DataGridViewRow row in dataGridView.Rows) { if (!objectList.list[row.Index].Selected) { row.Visible = false; } } currencyManager.ResumeBinding(); 有没有人有更好的解决方案? 我必须经历的对象列表越长,这个过程自然就越长。 我无法设置一系列单元格,因为布尔值可能不是连续的。

Datagridview需要隐藏Scrollbar,但滚动应该可以通过代码实现

我有2个具有相同列数的Datagrids Datagrid1只显示标题, Datagrid2就在它下方,显示所有数据。 实质上,2个网格需要同步才能显示为1个网格。 我的问题是我需要隐藏datagrid1的水平滚动条,但只显示datagrid1滚动条。 当用户滚动datagrid2 ,我需要以编程方式同步datagrid1上的标头。 谁有人建议?

ORM,DataBinding to DataGridView:插入/删除未保存到数据库的新行

我对ORM很新,而且我现在正在尝试使用Telerik OpenAccess ORM,但这个问题可能实际上并不是特定于ORM,而且我还没有完全确定那个ORM。 我想要实现的是绑定DataGridView以显示Customers对象的集合,显示customer表中的所有客户。 我已将它绑定到BindingSource并将BindingSource绑定到DataGridView控件。 我可以成功修改现有项目(使用OpenCccess ORM的SaveChanges方法)。 保存时,内容将按照我的预期保存回数据库。 但是,如果我从DataGridView中删除一行或添加新行,则它们不会保存到数据库中,也不会出现任何错误消息或exception。 理想情况下,我希望能够使用ORM执行所有可能的CRUD操作,就像我可以使用典型的DataTable执行此操作一样… 执行绑定的代码如下所示: List ukCustomers = (from c in diagrams.Customer where c.Country == “UK” select c).ToList(); customersBindingSource.DataSource = ukCustomers; customersBindingSource.AllowNew = true; 我目前的猜测是,用户添加到DataGridView的新行不是列表的一部分,而是“独立”的客户实例? 我本以为它们会自动添加到列表中。 删除的行也一样,我认为会自动从列表中删除,而ORM的SaveChanges方法可以选择它吗? 我应该做的不仅仅是绑定吗? 有没有人在这方面取得任何成功,总的来说,你的数据绑定使用WinForms的成功程度是多少,你选择的ORM(不一定是Telerik的)? 谢谢。

当DataGridView.SelectionMode为FullRowSelect时,剪贴板复制失败

在Windows窗体中,如果我创建一个包含几行和列的简单DataGridView控件,然后将SelectionMode属性设置为FullRowSelect,我会使用剪贴板的复制function出现奇怪的行为: 当选择一行并且用户点击ctrl-c时,整个行将被复制到剪贴板,单元格之间有\ t字符,如预期的那样。 当用户双击并编辑单个单元格时,在该单元格内部用户选择文本的一部分并点击ctrl-c,STILL将复制整行,而不是所选文本的部分! 作为一种解决方法,我尝试在keydown事件上执行剪贴板复制,但是当编辑控件处于编辑模式时不会触发该事件。 有什么建议?

c #datagridview红叉

我有一个datagridview和datatable。 我使用datatable作为datagridview的数据源。 我使用如下的线程添加和更新数据。 如果我完成了数据,我将其删除。 但两次在datagridview前面有一个大的红色x 。 我找不到原因? 以下是我的样本。 注意:这并不总是发生,我只有两次这个错误,但我需要处理! 提前致谢。 Thread listData; DataTable dt = new DataTable(); Form1_load() { dataGridview.DataSource = dt; } public void ListData() { foreach(var item in data) { if(item.delete) { var row = dt.Rows.Find(item.id); if(row != null) { row.Delete();} continue; } listData = new Thread(delegate() { InsertOrUpdateData(item.Id); }); listData.Start(); listData.Join(); } […]

datagridview中的复杂布局

我正在努力完成这样的事情: 这可以用datagridview吗? 或ListView,或Windows窗体中的任何其他组件? 注意填充和(最重要的)标签在彼此之上。 我怎样才能在C#.NET中实现这一目标?