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中的“合同编号”列名应该也为“业务编号”的列名,“合同编号”列名不应该出现。

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

“将从winformB中接受到的datatable绑定到datagridview中” 这句注释有误,应该是 “将从winformA中接受到的datatable绑定到winformB上的datagridview中”。这个错误困扰很久了,一直找不到问题所在。目前是将错就错,调用数据时,将列名按“合同编号”调用。程序运行正常。就是觉得很奇怪