在WinForm DataGridView一列如何绑定多个字段?

lsd123 2009-07-08 07:54:12
在WinForm DataGridView一列如何绑定多个字段?
如在Asp.net中绑定:
<asp:GridView ID="gvwPerDetail" runat="server" AutoGenerateColumns="False" DataKeyNames="ID">
<Columns>
<asp:TemplateField HeaderText="姓名(身份证)">
<HeaderStyle Width="130px" />
<ItemTemplate>
<%# Eval("IDCard")+"("+Eval("IDCard")+")" %>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
...全文
414 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
qweasd_88 2009-07-09
  • 打赏
  • 举报
回复
好东东!!!!顶顶
jack43349489 2009-07-09
  • 打赏
  • 举报
回复
下sql的时候直接 select cell1 || cell2 from table 可以解决!
  • 打赏
  • 举报
回复
<asp:Label ID="lab" runat ="server" Text='<%# String.Format("{0}{1}",Eval("IDCard"),Eval("IDCard"))%>'></asp:Label>
surlew 2009-07-09
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 comerliang 的回复:]
用SQL语句把2个字段select成一个字段就OK了
[/Quote]

如果直接绑定的从数据库里面查出来的dataset.Table,那么就可以在sql里面处理2个字段合成一个

accpyy 2009-07-09
  • 打赏
  • 举报
回复
9楼的方法还是很可行的
如果在页面里处理的话会很麻烦的,CellEndEdit事件必须是在cell值编辑后才触发的,根本达不到直接就进行显示的要求
Comer 2009-07-09
  • 打赏
  • 举报
回复
用SQL语句把2个字段select成一个字段就OK了
hanhanmj 2009-07-09
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 hanhanmj 的回复:]
如果是一开始就绑数据..CellValueChanged
[/Quote]


CellEnter
hanhanmj 2009-07-09
  • 打赏
  • 举报
回复
如果是一开始就绑数据..CellValueChanged
surlew 2009-07-09
  • 打赏
  • 举报
回复
LZ你先说下你开始是怎么样将数据弄到datagridview
lsd123 2009-07-09
  • 打赏
  • 举报
回复

To hanhanmj
如 row.Cells["Sex"].Value = "年龄:13" + "性别: 男"; //把取出来的值合并往单元格里填!

这个要在那个事件里写?
privatevoid gvwList_CellEndEdit(object sender, DataGridViewCellEventArgs e)
这个事件没用
龙宜坡 2009-07-09
  • 打赏
  • 举报
回复
我认为可以换一种思路去解决,在后台完全可以把数据先组织好,然后直接绑定!
hanhanmj 2009-07-09
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 lsd123 的回复:]
引用 3 楼 wuyq11 的回复:
在CellEndEdit事件里修改cell值,使值为几个字段值或合并单元格


C# code这么没用啊?调试时事件也没执行到privatevoid gvwList_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
DataGridViewRow row=this.gvwList.Rows[e.RowIndex];
var info=this.gvwList.Rows[e.RowIndex].DataBoundItemas PlayerInfo;if (info!=null)
{
row.Cells["Sex"].Value= info.Sex==1?"男" :"女";//仍为数字 row.Cells["CountryID"].Value= bllCountry.GetCountryName(info.CountryID);//仍为数字 row.Cells["BelongTo"].Value= bllPlayerSpecialty.GetSpecialtys(info.PlayerID);//仍为数字 }
}
[/Quote]

如 row.Cells["Sex"].Value = "年龄:13" + "性别: 男"; //把取出来的值合并往单元格里填!
muyebo 2009-07-09
  • 打赏
  • 举报
回复
download的时候把datagridview遍历一下,给datagridview的特定列重新赋值
lsd123 2009-07-09
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 ljhcy99 的回复:]
你若是简单的连接俩个字段的话,为什么不在sql里控制

省得在前台写这么多代码/


[/Quote]

谢谢关注,
问的目的是对不懂的方面多学学,
以后若碰到在sql里不能控制的就有办法。
ljhcy99 2009-07-09
  • 打赏
  • 举报
回复
你若是简单的连接俩个字段的话,为什么不在sql里控制

省得在前台写这么多代码/

lsd123 2009-07-09
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 jack43349489 的回复:]
下sql的时候直接 select cell1 || cell2 from table 可以解决!

在后台完全可以把数据先组织好,然后直接绑定!
[/Quote]

这些方法我是考虑到的,
问的目的是对不懂的方面多学学,
我用CellFormating事件来解决了

lsd123 2009-07-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wuyq11 的回复:]
在CellEndEdit事件里修改cell值,使值为几个字段值或合并单元格
[/Quote]

这么没用啊?调试时事件也没执行到
private void gvwList_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
DataGridViewRow row = this.gvwList.Rows[e.RowIndex];
var info = this.gvwList.Rows[e.RowIndex].DataBoundItem as PlayerInfo;
if (info != null)
{
row.Cells["Sex"].Value = info.Sex == 1 ? "男" : "女";//仍为数字
row.Cells["CountryID"].Value = bllCountry.GetCountryName(info.CountryID);//仍为数字
row.Cells["BelongTo"].Value = bllPlayerSpecialty.GetSpecialtys(info.PlayerID);//仍为数字
}
}
lsd123 2009-07-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wuyq11 的回复:]
在CellEndEdit事件里修改cell值,使值为几个字段值或合并单元格
[/Quote]

谢谢我试下
lsd123 2009-07-08
  • 打赏
  • 举报
回复
不是在Asp.net里,

是问在WinForm如何实现啊?
wuyq11 2009-07-08
  • 打赏
  • 举报
回复
在CellEndEdit事件里修改cell值,使值为几个字段值或合并单元格
加载更多回复(2)

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧