fsnhlsc 2022-09-20 16:05 采纳率: 66.7%
浏览 35
已结题

datagridview传递过程中个别列名改变了

问题遇到的现象和发生背景

同一个项目中,从一个winformA中将一个datagridview的数据通过委托传递到另一个winformB中的datagridview中时,某个列的列头(列名)居然改变了,详见截图中的红黄框。本人C#初入门,对委托不懂,只是依葫芦画瓢,不知道出现这种情况是委托过程中产生的变化,还是winformA初始化设置的问题。请大家指教指导,谢谢。

img

img

用代码块功能插入代码,请勿粘贴截图

winformA

public delegate void pickreqHandler(DataTable str); //定义委托
public event pickreqHandler pickreqtohtclick; //定义事件

winformA中的提交按钮代码
private void btnpickreqtoht_Click(object sender, EventArgs e)
{
if (pickreqtohtclick != null)//判断事件是否为空
{
pickreqtohtclick(DataGridViewToDataTable(gridhtreqselected));//执行委托实例 ,gridhtreqselected为winformA的选定的业务
this.Close();
}
}

winformB的事件绑定

htcdreqfrm.pickreqtohtclick += new pickreqHandler(pickop);//将事件和处理方法绑在一起,

    public void pickop(DataTable selectreq)//将从winformB中接受到的datatable绑定到datagridview中
    {
        Gridhtwtxm.DataSource = selectreq;
    }
运行结果及报错内容

img

img

我的解答思路和尝试过的方法

查编了代码,未发现有设置列名为“合同编号”的代码

我想要达到的结果

winformB中的“合同编号”列名应该也为“业务编号”的列名,“合同编号”列名不应该出现。

  • 写回答

2条回答 默认 最新

  • 於黾 2022-09-20 16:25
    关注

    我可以很负责任的告诉你,委托不管这事
    你列名变了肯定是代码控制的
    如果代码里没有直接修改列名的方法,那往下继续挖,看sql语句里是不是select的时候直接给列取了别名
    或者是你根本打开错误的窗体了,这个窗体明显连title都是跟合同有关的,跟你前面的业务不是一回事

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月28日
  • 已采纳回答 9月20日
  • 创建了问题 9月20日

悬赏问题

  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助
  • ¥15 STM32控制MAX7219问题求解答