Tag: datagridview

使用大数据填充DatagridView时性能下降

我正在使用BindingSource控件来填充datagridview控件。 它上面有大约1000多条记录。 我正在使用线程来这样做。 在这种情况下,datagridview执行速度非常慢。 我试图将DoubleBuffered属性设置为true,将RowHeadersWidthSizeMode设置为禁用,将AutoSizeColumnsMode设置为none。 但仍然是相同的行为。 请帮助我。 如何提高网格的性能。 提前致谢, 维杰

如何知道datagridview中的特定复选框是否已检查?

我有一个gridview,它有2列,一个是文本框列,另一个是复选框列,如何知道选中了哪个复选框。 如图所示,假设选中了任何复选框,我想将相应的文本框值显示给该复选框。 任何人都可以帮助我?我尝试了下面的代码,但我面临的问题是,一旦我点击下一个复选框后显示值,然后显示之前检查的复选框值。 dataGridView1.CellValueChanged += new DataGridViewCellEventHandler(dataGridView1_CellValueChanged); void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e) { object tempObj = dataGridView1.Rows[e.RowIndex].Cells[1].Value; dataGridView1_CurrentCellDirtyStateChanged(sender, e); if (((e.ColumnIndex) == 1) && ((bool)dataGridView1.Rows[e.RowIndex].Cells[1].Value)) { MessageBox.Show(dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString()); } }

如何向DataGridView中的列添加按钮

DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn(“Software Title”, typeof(string))); dt.Columns.Add(new DataColumn(“Version”, typeof(string))); dt.Columns.Add(new DataColumn(“Uninstall”, typeof(System.Windows.Forms.Button))); DataRow dr = dt.NewRow(); dr[0] = “App”; dr[1] = “1.0”; Button uninstall = new Button(); uninstall.Text = “Uninstall”; dr[2] = uninstall; dt.Rows.Add(dr); dataGridViewSoftware.DataSource = dt; 文本出现但按钮从不显示。

如何为绑定到List 的dataGridView设置columnNames?

如下所示,我创建了一个装备列表。我希望列名更具描述性 – 是否有一个属性可以在equip.properties中使用? DataGridView.Datasource = EquipList; List EquipList = new List(); public class equip { public int EquipID {get;set;} public string EquipName {get;set;} } 好吧,也许我没有正确解释自己…我希望有一个属性可以像……一样应用 [Alis(“name I would like to see in the gridview”)] public int EquipID {get;set;} 如果不是,我会坚持旧的疲惫的方式 那天早上…… 我知道了! using System.ComponentModel; [DisplayName(“the nice name”)] public int EquipID {get;set;}

根据行数据更新DatagridView单元格背景颜色

嗨,我有一个DatagridView,我希望它根据每行中的数据更改背景颜色。 防爆。 | 人1 | 人2 | 人3 | | —- —- 100 | — 200 —– | —– 150 —- | | —- 300 —- | — 100 —– | —— 50 —- | 在第一行,我希望它使“100”具有红色背景颜色和“200”绿色。 要么。 最低值=红色最高=绿色 现在的问题是我使用BindingList作为我的数据,并使用INotifyPropertyChanged更新异步。 因此,每当其中一个值更新时,我需要一些检查方法。 DataGridView是否有任何有用的事件?

DataGridView selectionChanged事件多次触发

在我的应用程序中,我使用DataGridView来显示列表。 当用户在datagridview中选择一条记录时,它应该在另一个面板中显示详细信息。 为了选择,我被要求使用DataGridView1_SelectionChanged事件。 DataGridView应该只包含一列,但详细信息显示可能包含所选记录的更多信息(我们可以通过查询所选的主键值来获取数据库中的所有详细信息)。 请告诉我是否可以获取所选DataGridView记录的datakey(主键)。 DataGridView是否会基于主键进行绑定? 编辑 我已经实现了DataGridView1.Columns [“ID”]。Visible = false。 它运作良好。 为了选择我添加了DataGridView1_SelectionChanged事件。 但DataGridView1_SelectionChanged事件多次触发。

如何在拖放过程中自动滚动DataGridView

我的C#.NET应用程序中的一个表单有多个DataGridViews,它们实现拖放以移动行。 拖放大多数工作正常,但我一直很难将DataGridViews转换为AutoScroll – 当在行的顶部或底部附近拖动一行时,向该方向滚动它。 到目前为止,我已经尝试实现此解决方案的一个版本。 我有一个inheritance自DataGridView的ScrollingGridView类,它实现了所描述的计时器,并且根据调试器,计时器正在适当地触发,但是计时器代码: const int WM_VSCROLL = 277; private static extern int SendMessage(IntPtr hWnd, int wMsg, IntPtr wParam, IntPtr lParam); private void ScrollingGridViewTimerTick(object sender, EventArgs e) { SendMessage(Handle, WM_VSCROLL, (IntPtr)scrollDirectionInt, IntPtr.Zero); } 据我所知,我没有做任何事情,可能是因为我在表单中有多个DataGridViews。 我也尝试修改AutoScrollOffset属性,但这也没有做任何事情。 对DataGridView和ScrollBar类的研究似乎没有提出实际使DataGridView滚动的任何其他命令或函数。 任何人都可以帮助我实际滚动DataGridView的function,或其他一些方法来解决问题?

DataGridView:数据源更改后保留选择?

有没有办法在DataSource更改后选择DataGridView的选定单元格?

如何在winform中显示DataGridViewComboBoxCell值的设置默认值?

我有一个DataGridView有一个DataGridViewComboBoxColumn ,我已经填充了ComboBox但是在清除DataGridView我必须为该ComboBox设置一个默认值所以请帮帮我。

滚动时通过线程更新DataGridView

我遇到了我的这个问题,如果有人解决了这个问题,那将会很有帮助 我的问题 我想做的是: 1)在表单加载事件中初始化DataTable数据表并将其defaultview分配给a datagridview dgvresult 2)点击一个按钮启动一个STA线程(我实际上正在使用WatIN IE,因此 需要使线程STA)调用一个创建相同DataTable的方法 dt作为在步骤1中创建的数据表,然后向此数据表添加300行。 3)调用一个委托,它将这个dt与datatable合并,从而更新dgvresult这里是我的问题: 这是我刚才描述的步骤的代码片段: static class Program { /// /// The main entry point for the application.This method is made STAThread as I need to intialize WatIN IE in the form load of frmMain /// [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new frmMain()); } } /// […]