dataGridView的一列如何绑定到表达式?

liohoym 2009-02-28 10:25:13
首先是在WinForm中.

一个DataGridView,将其绑定到一个dataSet的一个dataTable上.
设置了dataGridView的AutoGenerateColumns 为 false,并自定义了表格的各列.

如果纯粹显示dataTable中的各个字段是没问题,设置各列的DataPropertyName为数据表的字段名即可.

现在我想在其dataGridView的其中一列上达到如下功能:
比如我dataTable上有一个字段为ItemId,字符串类型,dataGridView的一列只显示itemId的前三位.类似这一列的每一行都显示的是字段ItemId的ItemId.SubString(1,3)


请大家指点一点应该怎么处理.
...全文
363 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
liohoym 2009-03-05
  • 打赏
  • 举报
回复
昨天终于找到一个示例了.
先将dataGridView的VirtualMode,再将代码写在DataGridView的CellValueNeeded事件中:具体如下:

private void dataGridView1_CellValueNeeded(object sender, DataGridViewCellValueEventArgs e)
{

if (e.ColumnIndex == ((DataGridView)sender).Columns["要自定显示列的列的名称"].Index)
{
e.Value = "要显示的值的表达式";
}
}
liohoym 2009-03-04
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 hhxxcj 的回复:]
<%#GetStr(Eval("字段"))%>

后台写一个方法
public string GetStr(object ob)
{
处理成你想要的结果就后返回就行了
}
[/Quote]

意思是这样的,但我是想在WinForm中,不是WebForm中.
烦请您再教教在WinForm中的处理方式.
liohoym 2009-03-04
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 plby 的回复:]
如:Select ID,name,address,left(address,3) as newaddress from tablename
[/Quote]

这种方法我是知道.通过处理数据源来解决.

我是想不通过数据源来处理,而是在已经得到dataTable之后在界面上进行处理.
hhxxcj 2009-03-02
  • 打赏
  • 举报
回复
<%#GetStr(Eval("字段"))%>

后台写一个方法
public string GetStr(object ob)
{
处理成你想要的结果就后返回就行了
}
plby 2009-03-02
  • 打赏
  • 举报
回复
如:Select ID,name,address,left(address,3) as newaddress from tablename
plby 2009-03-02
  • 打赏
  • 举报
回复
table改成query,select的时候将想要取三个字符的字段加上截取函数后一并加入select 的列中,就OK了。
liohoym 2009-03-02
  • 打赏
  • 举报
回复
没高人帮忙啊?
liohoym 2009-02-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wmsdg 的回复:]
用datatable的DefaultView.RowFilter,然后dataGridView.DataSource = datatable.DefaultView
[/Quote]

不是这个意思啊.
dataGridView已绑定到dataTable了.并且dataGridView中对应的各个column与dataTable的各个字段绑定都没问题.

现在是想在dataGridView中增加一列,这一列要绑定到其中一个字段的前三个字符.
wmsdg 2009-02-28
  • 打赏
  • 举报
回复
用datatable的DefaultView.RowFilter,然后dataGridView.DataSource = datatable.DefaultView

110,539

社区成员

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

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

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