为什么dgv控件单元格的value值改变了,但是表格显示的数据还是没有更新

年轻的程序员小唐 年轻的程序员小唐 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
主窗体的代码:Form1

private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
if (tabControl1.SelectedTab.Name.Contains("组呼列表"))
{
FormCallGroup FCG = new FormCallGroup(dataApplication,tabControl1.SelectedTab.Name);//我想通过重载使得切换页面的时候表格数据一直更新
FCG.loadForm();

}
}


子窗体FormCallGroup的代码


public FormCallGroup(DataApplication data,string key)
{
InitializeComponent();
dataCallGroup = data.dicCG[key];
if (FormLinker.datalinker != null)
{
for (int i = 0; i < FormLinker.datalinker.dataLinker.Count; i++)
{ datalinker.Add(FormLinker.datalinker.dataLinker[i].Linker_name); }
}
numberA = datalinker.Count;
//FormCallGroup窗体的初始化,载入一些数据和表格初始化
if (dgv_member.Rows.Count == 0)
{
for (int i = 0; i < 14; i++)
{ dgv_available.Rows.Add(new DataGridViewRow()); }
}
if (dgv_member.Rows.Count == 0)
{
for (int i = 0; i < 14; i++)
{ dgv_member.Rows.Add(new DataGridViewRow()); }
}
dgv_available.ClearSelection();
dgv_member.ClearSelection();
dgv_available.RowStateChanged += new DataGridViewRowStateChangedEventHandler(handleRowState);
loadData();
}



public void FormCallGroup_Load(object sender, EventArgs e)
{
if (FormLinker.datalinker != null && datalinker.Count!=0)
{
dgv_available.Enabled = true;
for (int i = 0; i < datalinker.Count; i++)
{
if (dgv_available.Rows[i].Cells[0] != null)
{
dgv_available.Rows[i].ReadOnly = false;
dgv_available.Rows[i].Selected = false;
}
}
}
else
{ dgv_available.Enabled = false; }
//当数据为空时表格不可操作
if(dataCallGroup!=null&&dataCallGroup.Count!=0)
{
dgv_member.Enabled = true;
for (int i = 0; i < datalinker.Count; i++)
{
if (dgv_member.Rows[i].Cells[0] != null)
{
dgv_member.Rows[i].ReadOnly = false;
dgv_member.Rows[i].Selected = false;
}
}
}
else
{ dgv_member.Enabled = false; }

}



private void loadData()
{
if (datalinker.Count > 0)
{
for (int i = 0; i < datalinker.Count; i++)
{
dgv_available.Rows[i].Cells[0].Value = datalinker[i];
}
}
//单元格赋值
if (dataCallGroup.Count > 0 && dataCallGroup!=null)
{
for (int i = 0; i < dataCallGroup.Count; i++)
{
dgv_member.Rows[i].Cells[0].Value = i + 1;
dgv_member.Rows[i].Cells[1].Value = dataCallGroup[i].Linker_name;
}
}
}


public void loadForm()
{
List<string> datalinker = new List<string>();
List<string> datacallgroup = new List<string>();
if (dataCallGroup == null || dataCallGroup.Count == 0)
{ }
else
{
for (int i = 0; i < dataCallGroup.Count; i++)
{
datacallgroup.Add(dataCallGroup[i].Linker_name);
}
}
if (FormLinker.datalinker != null)
{
for (int i = 0; i < FormLinker.datalinker.dataLinker.Count; i++)
{ datalinker.Add(FormLinker.datalinker.dataLinker[i].Linker_name); }
for (int i = 0; i < datalinker.Count; i++)
{
for (int j = 0; j < datacallgroup.Count; j++)
{
if (datalinker[i] == datacallgroup[j])
{ datalinker.RemoveAt(i); }
}
}
}
//切换页面时做的一些数据处理,让数据在原有数据的基础上更新
numberA = datalinker.Count;
loadData();

}


我做的是这样的,在主窗体Form1中有一个tabcontrol里面存放着两种窗体Formlinker和FormCallGroup
其中Formlinker内的数据更新时,FormCallGroup的数据也要跟着刷新,附图


Formlinker.数字联系人=FormCallGroup.可用的+FormCallGroup.成员

然后我代码这样子写,只有当tabpage被新建出来的时候FormCallGroup.可用的表的数据才会刷新
但是我监控的时候看到表的Value是有被赋值的这是为什么
...全文

相关推荐

dgv分页,dgv复选框,dgv换颜色

在.NET开发环境中,DataGridView(简称dgv)是一个常用的控件,用于展示数据表格。在处理大量数据时,分页功能显得尤为重要,因为它可以提高用户体验,避免一次性加载所有数据导致的性能问题。

susu2012

C#工控机上位机开发:WinForms控件高效使用与界面布局技巧

工控上位机的界面开发,永远是稳定优先、功能第二、美观第三。WinForms本身性能足够支撑绝大多数工业场景,出现卡顿、闪烁、泄漏问题,大多是控件使用不规范、刷新机制不合理、资源释放不到位导致的。把控件性能细节优化到位,布局逻辑遵循工业场景使用习惯,刷新机制做分级管控,资源释放形成规范,就能在普通工控机上实现7×24小时稳定流畅运行。好的工控界面,评判标准从来不是有多精致,而是工人操作顺手、程序运行稳定、运维排障高效。

威哥说编程

C# WinForm使用iTextSharp实现PDF导出:表格、中文乱码与文件锁全攻略

在桌面应用开发中,将业务数据生成PDF报告是一项常见且刚需的能力。PDF作为一种跨平台、不易篡改的文档格式,在工业检测、数据归档、报表导出等场景中占据核心地位。实现PDF生成的技术路径多样,从调用系统打印驱动到借助办公软件转换,但都存在环境依赖和可控性差的问题。以iTextSharp为代表的代码级PDF生成方案,通过Document、PdfWriter、PdfPTable等核心对象,在代码中精确控制页面布局、表格样式与字体映射,不依赖外部软件,运行环境干净可靠。尤其适合WinForm上位机、内部工具等需离线

Linux????? Mr.Liyz

DataGridView单元格实现下拉和编辑功能设置代码

#### 关键概念介绍- **DataGridView**: 一种用于显示表格数据的控件,可以绑定到多种数据源。- **ComboBox**: 一个提供下拉列表供用户选择的控件。

nma_123456

Mysql导出数据到DGV,并保存到Excel表格

**DataGridView控件**: DataGridView是.NET Framework中的一个控件,常用于Windows Forms应用程序,用于显示和编辑表格数据。

qq_36721801
评论 7
收藏 已收藏
分享
返回顶部
年轻的程序员小唐
C# 111,128 成员 642,536 内容