Tag: datagridview

将文本添加到DataGridView行标题

C#允许您将一个String添加到DataGridView中的RowHeader吗? 如果是这样,它是如何完成的? 我正在编写Windows窗体,以显示到目前为止的年度客户付款数据。 ColumnHeaders显示1月,2月,3月等…而不是有一个DateTime.Now.Year的空白列我想把它放在RowHeader中,使其从实际的支付数据中脱颖而出。

条件DataGridView格式

我有一个DataGridView。 我将其.DataSource prop设置为我自己的对象的BindingList : BindingList 然后我为它创建了一些列.. DataGridViewTextBoxColumn descColumn = new DataGridViewTextBoxColumn(); descColumn.DataPropertyName = “Description”; descColumn.HeaderText = “Description”; descColumn.Width = 300; DataGridViewTextBoxColumn gameIDColumn = new DataGridViewTextBoxColumn(); gameIDColumn.DataPropertyName = “GameID”; gameIDColumn.HeaderText = “Game ID”; gameIDColumn.Width = 60; dataGrid.Columns.Add(descColumn); dataGrid.Columns.Add(gameIDColumn); 我的问题是..我想根据我BindingList的另一个字段中的数据为其中一列GREEN着色。 我怎样才能做到这一点? 我真的不必显示这个字段,我只想对其中的数据进行操作。 在我的例子中,IChessItem的一个字段显示记录是否是新的,我想为datagridview中的其他字段着色以反映这一点。

动态更改datagridview单元格颜色

我有一个填充了数据的dataGridView对象。 我想单击一个按钮,让它更改单元格背景的颜色。 这就是我现在拥有的 foreach(DataGridViewRow row in dataGridView1.Rows) { foreach(DataGridViewColumn col in dataGridView1.Columns) { //row.Cells[col.Index].Style.BackColor = Color.Green; //doesn’t work //col.Cells[row.Index].Style.BackColor = Color.Green; //doesn’t work dataGridView1[col.Index, row.Index].Style.BackColor = Color.Green; //doesn’t work } } 所有这三个都会导致表格以重叠的方式重新绘制,并且尝试重新调整表格的大小变得一团糟。 单击单元格时,值仍然突出显示,背景颜色不会更改。 问:如何在表存在后更改单个单元格的背景颜色?

我如何在datagridview列中显示总和?

我需要显示此datagridview count列的总和,但我不知道如何获取datagridview中的数据。 当我点击按钮时,我想在label1显示94 。 如何才能做到这一点?

显示在其他线程中加载数据期间加载动画

我有一个运行数据库的应用程序。 当我在datagridview中加载表时,我的表单冻结了。 如何在加载表格期间确保平滑加载动画? 我为动画运行两个线程并将数据加载到表中,但动画仍然不能始终有效。 private volatile bool threadRun; private void UpdateTab() { // Create panel for animation Panel loadingPanel = new Panel(); // Label, where the text will change Label loadingLabel = new Label(); loadingLabel.Text = “Loading”; loadingPanel.Controls.Add(loadingLabel); this.Controls.Add(loadingPanel); // thread loading animation threadRun = true; Task.Factory.StartNew(() => { int i = 0; string labelText; […]

无法设置数据网格视图的行可见false

我有一个DataGridView ,我在其中设置DataSource : taskerEntities te = new taskerEntities(); var OMsMasterDescriptiveIndicators = te.MyTable.Select(x => new lccls {Id = x.Id, name = x.name }).ToList(); MyGrid.DataSource = OMsMasterDescriptiveIndicators; 和我的class lccls一样 public class lccls { public string Id { get; set; } public Nullable name { get; set; } } 在某个事件中,我想让当前行不可见: MyGrid.Rows[5].Visible = false; 但我无法做到这一点。 而是抛出exception,并显示以下错误消息: 与货币经理的头寸相关联的行不能隐藏 我怀疑原因与设置DataSource ,但为什么呢?

DataGridView复选框列 – 值和function

我在C#表单中为DataGridView添加了一个复选框列。 该function需要是动态的 – 您选择一个客户并显示他们可以维修的所有物品,并选择您希望这次服务中的哪一个。 无论如何,代码现在将添加一个chckbox到DGV的开头。 我需要知道的是: 1)如何制作它以便默认“检查”整列? 2)当我点击DGV正下方的按钮时,如何确保仅从“已检查”行获取值? 这是插入列的代码: DataGridViewCheckBoxColumn doWork = new DataGridViewCheckBoxColumn(); doWork.HeaderText = “Include Dog”; doWork.FalseValue = “0”; doWork.TrueValue = “1”; dataGridView1.Columns.Insert(0, doWork); 接下来呢? 任何帮助将不胜感激!

DataGridView keydown事件无法在C#中工作

当我在单元格内编辑文本时,DataGridView keydown事件不起作用。 我正在分配快捷键Alt + S来保存数据,它在单元格不处于编辑模式时起作用,但如果它处于编辑模式下面,则代码不起作用 private void dataGridView1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyData == (Keys.Alt | Keys.S)) { //save data } }

非常频繁地更新datagridview

我在C#中合理的时间刷新我的DataGridView时遇到了麻烦(我是新手,我已经习惯了java …)。 我通过网络获取数据,每秒发送20个包。 我想解析数据并将其放在DataGridView中。 我还想调整DataGridView更新的时间间隔,从0.1秒到1分钟。 所以我创建了一个额外的线程,它读取包并将它们解析为一个数组。 我也有一个Timer,我用它来改变Interval。 在每个计时器滴答声中,我将DataSource重新分配给DataGridView。 有趣的是,当我这样做时,即使我将计时器设置为0.1秒,它也只会被触发一次。 如果我不刷新DataGridView,它会被触发每秒10次,就像它应该的那样。 所以我假设我更新DataGridView的方法太耗时。 但是我需要做些什么来提高它的效率,所以我可以每秒更新10次而没有任何问题? 这是我使用的代码: public MyForm() { InitializeComponent(); timer = new System.Windows.Forms.Timer(); timer.Interval = (1 * 1000); // 1 secs timer.Tick += new EventHandler(timer_Tick); timer.Start(); readNetworkValues = true; networkReader = new Thread(() => { Thread.CurrentThread.IsBackground = true; byte[] data = new byte[1024]; IPEndPoint ipep = new […]

如何创建一个可以将键发送到控件而不会失去焦点的按钮 – 虚拟键盘

如何创建一个可以将密钥发送到datagridview的按钮(所以我需要以某种方式将datagridview返回到它失去焦点之前的状态) 我会解释这个问题 我有一个带有datagridview和一些按钮的表单 我可以点击按钮,它会输入相应的字母, dataGridView1.Focus(); SendKeys.Send(“a”); //or m or z, depending on the text of the button. 该按钮用于将数据输入datagridview。 我可以这样做,只有在调用datagridview的enter方法时才启用它。 单击该按钮时,datagridview失去焦点,因此我必须在发送密钥之前再次给它焦点。 因此上面两行。 我希望用户能够使用按钮将数据输入到datagrid中。 问题是,假设我希望用户能够输入文本“maz”我无法做到。 我只得到个人a或m或z。 即使我可以将单元格放回可编辑模式,我也需要记住光标所在的位置。所以如果有人将asdf键入单元格并将光标放在d和f之间,然后单击m,我想要它说asdmf。 我不知道如何做到这一点。 我有一个想法..也许如果有一种方法可以注册鼠标在按钮上并且按下了点击,但不会失去对datagridview的关注,那么这将是一种可以完成的方式。 我不知道怎么做,我对不同的方式感兴趣。