【问题标题】:add new line in gridview cell在gridview单元格中添加新行
【发布时间】:2018-01-19 04:06:10
【问题描述】:

我有一个display grade 的网格视图,但我不想显示在一行中。我尝试过的就像this picture 它变成了换行文本。 代码

     gridView_Attendees.Columns["grade"].Caption = "Grade";
     gridView_Attendees.Columns["grade"].Width = 150;
     gridView_Attendees.Columns["grade"].OptionsFilter.AutoFilterCondition = AutoFilterCondition.Contains;
     gridView_Attendees.OptionsView.RowAutoHeight = true;
     gridView_Attendees.Columns["grade"].AppearanceCell.TextOptions.WordWrap = WordWrap.Wrap;
     RepositoryItemMemoEdit memoEdit = new RepositoryItemMemoEdit();
     memoEdit.ReadOnly = true;
     memoEdit.AutoHeight = true;
     memoEdit.WordWrap = true;
     gridView_Attendees.GridControl.RepositoryItems.Add(memoEdit);
     gridView_Attendees.Columns["grade"].ColumnEdit = memoEdit;

我想要的是添加新行以分成 2 行,正好在文本 Technique 之前。像这样pic

【问题讨论】:

  • 网格数据源的 Grade 属性中的值是否在“Technique”之前包含换行符?
  • 不,都在一行中。

标签: c# winforms devexpress


【解决方案1】:

为实现您的目标,请将 MemoEdit 编辑器指定为单元格就地编辑器 并将 View 的 OptionsView.RowAutoHeight 属性设置为 True。

您已经使用了这种方法,但它不能按您的意愿工作,因此您可以通过处理 GridView.CustomDrawCell event 来模拟所需的行为:绘制多行文本并将 e.Handled 属性设置为 true 以防止默认绘制网格单元格的内容。在这种情况下,您需要增加网格的行高。为此,请设置 GridView.RowHeight 属性或处理 GridView.CalcRowHeight 事件,为每个网格的行设置单独的高度(在这种情况下,应将 GridView.OptionsView.RowAutoHeight 属性设置为 false)。

参考资料:
Display multi-line text in gridview cell
Multi line text indentation in XtraGrid memoedit cell
gridview cell display multiline text

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多