,设置第一列列为下拉列表,另一列根据第一列选择的结果,决定这列是下拉列表还是文本框,
举例第一列里面选择项有日期和自定义,选择日期,另一列就是下拉列表,里面数据是日期格式的选择,选择自定义,另一列就是可编辑的文本框,可以自由输入
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
在WinForm下,DEV里面的GridControl控件问题
收起
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除 结题
- 收藏 举报
追加酬金 (90%的用户在追加酬金后获得了解决方案)
当前问题酬金
¥ 0 (可追加 ¥500)
支付方式
扫码支付
加载中...
2条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
threenewbee 2017-01-23 16:11关注在你的下拉的事件里更改gridview的columntemplate
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
评论按下Enter换行,Ctrl+Enter发表内容
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
larry_wen 2017-01-27 03:42关注using DevExpress.XtraEditors.Repository; using DevExpress.XtraGrid.Columns; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); var cb = new RepositoryItemComboBox(); cb.Items.Add(""); gridControl1.RepositoryItems.Add(cb); gridView1.Columns.AddRange(new GridColumn[] { new GridColumn() { Caption = "选项", FieldName = "FieldName", ColumnEdit = cb, Visible = true }, new GridColumn() { Caption = "值", FieldName = "Value", Visible = true } }); var dt = new Source(); dt.AddField("文本", SqlDbType.NVarChar); dt.AddField("日期", SqlDbType.SmallDateTime); dt.AddData(""); dt.AddData(""); dt.Fields.ForEach(x => { cb.Items.Add(x.FieldName); }); gridControl1.DataSource = dt.Datas; cb.EditValueChanged += (s, e) => { dt.Datas[gridView1.GetFocusedDataSourceRowIndex()].Value = null; }; gridView1.CustomRowCellEdit += (s, e) => { if (e.Column.FieldName != "Value") return; var item = dt.Fields.Find(x => { return x.FieldName == gridView1.GetRowCellValue(e.RowHandle, "FieldName").ToString(); }); if (item != null) e.RepositoryItem = item.Editor; }; } } public partial class Source { public virtual List<Field> Fields { get; } = new List<Field>(); public virtual BindingList<Data> Datas { get; set; } = new BindingList<Data>(); public virtual Data AddData(string fieldname, object value = null) { var r = new Data(fieldname, value); Datas.Add(r); return r; } public virtual Field AddField(string fieldname, SqlDbType type) { var r = CreateEditor(type); if (r != null) { var f = new Field(fieldname, r); Fields.Add(f); return f; } else return null; } protected virtual RepositoryItem CreateEditor(SqlDbType type) { if (type == SqlDbType.NVarChar || type == SqlDbType.NChar) { var edit = new RepositoryItemTextEdit(); return edit; } else if (type == SqlDbType.Date || type == SqlDbType.DateTime || type == SqlDbType.SmallDateTime) { var date = new RepositoryItemDateEdit(); return date; } else return null; } public partial class Field { public string FieldName { get; set; } = ""; public RepositoryItem Editor { get; set; } = null; public Field() { } public Field(string fieldname, RepositoryItem editor) { FieldName = fieldname; Editor = editor; } } public partial class Data : INotifyPropertyChanged { string _fieldname = ""; object _value = null; public string FieldName { get { return _fieldname; } set { _fieldname = value; OnPropertyChanged("FieldName"); } } public object Value { get { return _value; } set { _value = value; OnPropertyChanged("Value"); } } public Data() { } public Data(string fieldname, object value) { _fieldname = fieldname; _value = value; } public event PropertyChangedEventHandler PropertyChanged; protected void OnPropertyChanged(string name) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name)); } } } }
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
评论按下Enter换行,Ctrl+Enter发表内容
报告相同问题?
提交
- 2017-01-18 02:25回答 1 已采纳 http://jingyan.baidu.com/article/e2284b2b2d8abbe2e6118d01.html
- 2017-01-23 08:31回答 2 已采纳 加297082939,发代码给你
- 2017-02-28 02:07回答 3 已采纳 已解决。。。代码如下: this.grvGridView.AddNewRow(); int index = this.grvGridView.RowCount; this.grvGridView
- 2016-02-24 15:06DEV控件GridControl的分组和Summary
- 2017-03-02 01:35回答 1 已采纳 http://www.cnblogs.com/zfyouxi/p/4806496.html
- 2017-03-13 02:49回答 2 已采纳 属性里面的Properties下的TextEditStyle的值改为DisableTextEditor。
- 2017-03-07 03:08回答 2 已采纳 这就是没人回答了。。。
- 2023-08-02 17:21sunping177的博客 弹出的页面包括:结算日期,ID,姓名,费别,预交金收入,结算金额,收据号,合计(结算金额)2.GridControl中在show Footer前勾选,不然不显示合计。2.新页面:结算明细页中,添加绑定数据。1.双击合并结账查询,...
- 2017-09-06 03:48回答 4 已采纳 既然只有5个,那自己画好5个图,用ImageList装入,根据容量判断显示其中一个不就可以了。
- 2017-09-22 11:22回答 1 已采纳 http://blog.csdn.net/haoyujie/article/details/41719355
- 2022-04-11 09:56回答 1 已采纳 解决了 之前是在构造函数里面的赋的值 就一直是固定的值 改为在onpaint事件里面赋值就ok了
- 2018-09-30 17:03qq_40238811的博客 #region 打印 //打印函数 private void printInfo() { try { GridControl gc = gridControl1; //绑定表格组件 GridView gv = gridView...
- 2021-01-27 17:54`乐在途中`的博客 https://www.cnblogs.com/feilong3540717/archive/2012/02/14/2350536.html
- 2019-01-03 10:49GuitarCoder的博客 一.编辑框中添加文字按钮(HyperLinkEdit) Run Designer-Main-Columns-Add Columns ColumnEdit-new-HyperLinkEdit 打开ColumnEdit折叠-(Name)修改名字 打开ColumnEdit折叠-Appearance-TextOptions-HAlignment...
- 2021-01-14 13:56若离的博客 1、 如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 2、 如何新增一条记录 ...3、如何解决 GridControl 记录能获取而没有显示出来的问题 gridView.p..
- 没有解决我的问题, 去提问
悬赏问题
- ¥15 VB6.0中PICTUREBOX加载本地图片无法显示
- ¥100 关于游戏app session获取的问题
- ¥15 MYSQL数据库建表
- ¥15 爬虫程序爬取TTGChina网站文章代码
- ¥35 由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作。
- ¥15 如何用下图方法在AMESim中搭建离心泵模型
- ¥15 C#连接服务器,请求时报Ssl/Tsl未能建立安全通道
- ¥15 xcode15build的c++ dylib在10.15上不兼容
- ¥15 CPLD如何实现在线逻辑分析
- ¥15 控制面板卸载无权限!!