[已解决问题] 关于dataGridView绑定列与非绑定列数值的同步。盼高
提问时间: 2008-07-10 11:58
悬赏分:50 浏览:414 次
问题是这样:我有三张表,模板、模板明细、原材料。
在一个Form中,我使用bindingNavigator添加模板,用dataGridView添加明细,dataGridView的数据源是模板与模板明细的主外键关联。明细中的材料用ComboBox选择,数据源是原材料表,显示值材料名称,实际值材料ID。
我还有个隐藏的单价列,希望能通过ComboBox的事件来和选择的原材料同步,但没有找到好的办法。
盼高手……


问题补充:单价在原材料表中。
开发环境:.net2008

所有回答(1)
把材料列和材料价格列都用ComboCell,并且绑定同一数据源。材料列DisplayMember为Name,ValueMenber为ID。价格列的DisplayMenber为价格, ValueMember也是ID。这时候,你就可以通过价格列的FormattedValue得到单价的字符串了。有点麻烦,你把需求说的再清楚一些,看看我有没有办法。
3个月前   回答者:Colin Han - 老鸟四级
评论
3个月前   混口饭吃 :
我只能设置成 DataGridViewComboBoxColumn 没有 Colin Han 说的那个 ComboCell,没有用,单价不跟着变。
3个月前   Colin Han :
呵呵,我没有说清楚,更新了一下。
3个月前   混口饭吃 :
我还是没找到那个 ComboCell,同样 FormattedValue 也没看到。

目的是为了实时计算总成本。
价格列本身不绑定,数据源用材料列的。

最后的总成本需要绑定到模板总表。
因为原材料价格总是变化的,所以希望实时算出最新成本。
比如,同样是用油,用ComboBox选择是93#的1000单位或97#的1000单位
总成本立刻变化。

到目前为止,90%代码鼠标搞定,纯命令方式太麻烦,有点懒。
2个月前   Colin Han :
FormattedValue属性暴露在DataGridViewComboBoxCell上。

>> 最后的总成本需要绑定到模板总表。
这句没有太看懂,你说的绑定到模板总表是什么意思?如果你不写代码,又怎样实现单价×数量的运算的?

>> 到目前为止,90%代码鼠标搞定,纯命令方式太麻烦,有点懒。
能在这里问问题,就不懒了。程序员的懒总是有些奇怪 :-)
继续交流
2个月前   混口饭吃 :
马上就要上大量代码了
我的意思是能鼠标拖拽的,就尽量不敲了。

我这版的.net版本是9.0.21022.8 RTM
这里面只有 DataGridViewComboBox 没有后面的 Cell
里面的‘数据’这项里只有:DataPropertyName,DataSource,DisplayMember,Items,ValueMember这几项。

单价 X 数量是得用代码计算了,但现在没到这步。

模板总表有对应列,用来储存总成本。应该是叫绑定吧。

习惯这样鼠标一拖,然后设几个参数搞定,真的快忘了当初JAVA全手敲的感觉了。
这个地方可能得用代码解决了。就用材料列的数据源。

这两天在尝试写图片的拖动加载。比较郁闷。

Colin Han 还在持续关注,感慨,我能不能做到对自己回答的问题如此上心。
2个月前   Colin Han :
DataGridViewComboBoxColumn对应的是DataGridView中的一列。DataGridViewComboBoxCell是其中的一个Cell。他不会出现在AddColumn的对话框里面的。简单来说: this.dataGridView1.Columns[0]如果是一个DataGridViewComboBoxColumn,对应的,this.dataGridVeiw1[0, 0]对应的就是一个DataGridViewComboBoxCell。

你可以使用:
this.dataGridView1[0, 0].FormattedValue
取到Format后的值,这个值对应DataGridViewComboBoxCell上,就是他DisplayMember指定的数据的字符串表示。也就是我们借用了DataGridViewComboBoxCell的Formatting的逻辑。

>> Colin Han 还在持续关注,感慨,我能不能做到对自己回答的问题如此上心。
呵呵,只是我现在的工作和DataGridView关系很紧密(MultiRow的很多设计和DataGridView都是相似的),因此,比较关注这方面的信息。如果你有兴趣,可以关注一下我们的产品MultiRow:
http://www.componentsource.co.jp/egc/products/multirow-for-windows-forms-j/complete.html (日文)

http://gcdn.grapecity.com/cs/blogs/multirow/ (中文)
可惜的是,我们的产品仅在日本销售,中文资源很少,我正在逐渐的组织一些 :-)
关于DataGridView的问题,我会尽量给你比较详细的分析的。
2个月前   混口饭吃 :
没时间了,下周三必须交个毕业项目。
还是回我最熟悉的JAVA吧,这个先放一星期,我会回来的……会回来的……回来的……
   您需要登录以后才能回答!
 

我要提问

我的问题


快到期问题

> 问题排行榜

相关内容

相关链接