找回密码
 立即注册

QQ登录

只需一步,快速开始

cn2008liulin
初级会员   /  发表于:2014-9-25 10:24  /   查看:22411  /  回复:32
c1DataGrid单元格里右边有个按钮,可以单击此按钮,弹出一个窗体,这个按钮如何加入,如何实现?

象此图样子的,谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

32 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2014-9-25 18:26:00
沙发
回复 1楼cn2008liulin的帖子

思路如下:
1.C1DataGrid的列都是可以自定义的,可以添加一个带下拉框的列。比如,DataGridComboBoxColumn。
2.可以在下拉框弹出的相关事件里弹出一个对话框或是C1DataGridCell的PreviewMouseLeftButtonDown事件里判断是否弹出对话框。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
cn2008liulin
初级会员   /  发表于:2014-9-25 18:57:00
板凳
我的意思不是这样的
1)这个单元格允许输入数据
2)如果不想输入,可以点傍边的这个小按钮弹出对话框,然户选择数据返回到当前单元格中
而DataGridComboBoxColumn做不到这个功能,希望能给个好的办法解决,谢谢!
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-9-26 18:28:00
地板
回复 3楼cn2008liulin的帖子

建议你使用C1FlexGrid, 可以自定义列,容易实现你要的功能。
这里有一个C1FlexGrid做的Custom columns的Sample,你看参考下。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
cn2008liulin
初级会员   /  发表于:2014-9-26 19:33:00
5#
还不是这种效果,这个单元格是既可以输入数据有可以单击傍边的小按钮弹出选择窗返回选择数据,你这个只能按这个按钮,数据返不了此单元格,另外此单元格也无法输入,怎么能实现这个功能那,请再帮助下,谢谢!
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-9-28 10:52:00
6#
回复 5楼cn2008liulin的帖子

既可以输入又可以点击的单元格效果如下:




需要的代码如下:
  1.       <c1:Column ColumnName="ShowDetail">
  2.                     <c1:Column.CellTemplate>
  3.                         <DataTemplate>
  4.                             <Grid>
  5.                                 <Grid.ColumnDefinitions>
  6.                                     <ColumnDefinition  />
  7.                                     <ColumnDefinition Width="20" />
  8.                                 </Grid.ColumnDefinitions>
  9.                                 <TextBlock Grid.Column="0" Text="{Binding Name}"/>
  10.                                 <Button Grid.Column="1"  Click="ShowDetail_Click" />
  11.                             </Grid>
  12.                            
  13.                         </DataTemplate>
  14.                         
  15.                     </c1:Column.CellTemplate>

  16.                     <c1:Column.CellEditingTemplate>
  17.                         <DataTemplate>
  18.                             <Grid>
  19.                                 <Grid.ColumnDefinitions>
  20.                                     <ColumnDefinition  />
  21.                                     <ColumnDefinition Width="20" />
  22.                                 </Grid.ColumnDefinitions>

  23.                                 <TextBox Text="{Binding Name, Mode=TwoWay}" Grid.Column="0" />
  24.                                 <Button Grid.Column="1"  Click="ShowDetail_Click" />
  25.                             </Grid>
  26.                         </DataTemplate>
  27.                     </c1:Column.CellEditingTemplate>
  28.                 </c1:Column>
复制代码

在4楼发的Sample里修改ShowDetail列CellTemplate和CellEditTemplate就可以实现。WPF下可以重写Template来满足你的需求。
文本框里可以写内容,button按下去可以弹出对话框。

对话框只是一个简单的,你应该有自己的设计的弹出框,替换掉它。如果你需要将输入框的内容和对话框做相应的对应。在微软的设计下,可以将你所需要的值通过你设计的对话框进行值传递,对话框关闭的时候,也可以传出一个值。微软下有很多ShowDialog和FormClose的文档。

C1FlexGrid的模板已经帮你完成了,相信以你的水平再加上对你们应用程序的熟悉,在如上提供的Sample和代码的基础上,能够比我还快速的完成这个需求。

如果有其他C1控件相关问题欢迎提出来。

另外,如下有关C1FlexGrid的文档仅供参考:
http://helpcentral.componentone. ... mcellsinxamlcel.htm

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
cn2008liulin
初级会员   /  发表于:2014-9-28 14:48:00
7#

我试了还有点小问题

我试了还有点小问题,就是弹出框返回的数据无法更新当前单元格的数据,改不了数据,麻烦帮我看看,谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-9-28 18:23:00
8#
回复 7楼cn2008liulin的帖子

问题已经收到。
正在处理序列里,我看下再回复你。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-9-29 10:13:00
9#
回复 7楼cn2008liulin的帖子

这是我之前发的Demo添加了模板的代码。
这个Demo里的对话框只是我测试,告诉你可以这么弹。你需要用自己的Window.ShowDialog替换我的这个MessageBox.Show。
我不知道你们设计的弹出的对话框是什么样子的,所以你需要在Demo里把这个弹出的框加进来进行传值。
麻烦你提供需要弹出的这个设计好的对话框页面。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
cn2008liulin
初级会员   /  发表于:2014-9-29 15:37:00
10#

主要是返回的数据无法修改单元格的数据

主要是返回的数据无法修改单元格的数据,麻烦看下,谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
1234下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部