问题遇到的现象和发生背景
同一个项目中,从一个winformA中将一个datagridview的数据通过委托传递到另一个winformB中的datagridview中时,某个列的列头(列名)居然改变了,详见截图中的红黄框。本人C#初入门,对委托不懂,只是依葫芦画瓢,不知道出现这种情况是委托过程中产生的变化,还是winformA初始化设置的问题。请大家指教指导,谢谢。
用代码块功能插入代码,请勿粘贴截图
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;
}
运行结果及报错内容
我的解答思路和尝试过的方法
查编了代码,未发现有设置列名为“合同编号”的代码
我想要达到的结果
winformB中的“合同编号”列名应该也为“业务编号”的列名,“合同编号”列名不应该出现。