qq_26624753
2017-05-12 05:46
采纳率: 81.8%
浏览 1.7k
已采纳

GridControl列绑定,LookUpEdit控件问题

GridControl的列绑定LookUpEdit控件,这个控件就变为RepositoryItemLookUpEdit
类型,绑定以后设置DropDownRows=6,大于六条会有滚动条,但是小于六条会有空白行,这个怎么破,求指导图片说明

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • 战在春秋 2017-05-12 09:24
    已采纳

    确实不是直接赋属性那样简单,我找到一个例子:

    public static void SetOptionGridColumn(GridControl grid, GridColumn col, int optIdx)
    {
        string sql = "SELECT item_no, name FROM app_table_field_option_item WHERE opt_no = {0} ORDER BY item_no ";
        DataTable dt = AppFuncs.GetTableBy("app_table_field_option_item", string.Format(sql, optIdx));
        RepositoryItemLookUpEdit rc = new RepositoryItemLookUpEdit(); //这行是关键
        rc.DataSource = new BindingSource(dt, null);
        rc.DisplayMember = "name";
        rc.ValueMember = "item_no";
        rc.PopulateColumns();
        rc.Columns[0].Visible = false;
        rc.ShowHeader = false;
        rc.ShowFooter = false;
            rc.UseDropDownRowsAsMaxCount  = true;
            rc.DropDownRows = 6;
        rc.AutoSearchColumnIndex = 0;
        grid.RepositoryItems.Add(rc);//这行也是关键
        col.ColumnEdit = rc;//这行也是关键
    }
    

    基本的思路是对于题目中Grid的这一列,要单独处理:
    包括:
    数据绑定,属性设置等。

    例子中有些行的代码不一定用得上,主要你看下思路。

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 说实在话,有空行也该没关系吧,比如下拉框,你只有一条数据,但是下拉空间还是那么大的。

    评论
    解决 无用
    打赏 举报
  • 你别用DropDownRows=6,让他自动获取数据进行填充

    评论
    解决 无用
    打赏 举报
  • 战在春秋 2017-05-12 07:41

    需要和 UseDropDownRowsAsMaxCount 属性配合使用。

    当设置

     UseDropDownRowsAsMaxCount = true
    

    时 。

    最多行数不会超过 DropDownRows 的值 。

    符合题目的要求。

    评论
    解决 无用
    打赏 举报
  • qq_26624753 2017-05-12 08:53

    图片说明

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题