在此处输入图片说明

我正在开发Winform应用程序。 在其上使用Telerik控件。

在1种形式上,我需要具有上图中的复合列。 这些列已经动态添加(通过C#),我使用了HTMlViewDefinition。

问题是,列边界越来越重叠,如上图所示。

我需要在运行时确定列宽,所以不想给它们静态宽度。

注意:由于机密性,我从快照中删除了列名,并将伪列名放入代码中。 希望不是问题。

任何帮助将由衷的感谢。 提前致谢

我为该网格编写的代码如下

var htmlView = new HtmlViewDefinition()
                {

                };
                htmlView.RowTemplate.Rows.Add(new RowDefinition());
                htmlView.RowTemplate.Rows.Add(new RowDefinition());

                htmlView.RowTemplate.Rows[0].Cells.Add(new CellDefinition("No"));
                htmlView.RowTemplate.Rows[0].Cells.Add(new CellDefinition("Col1"));
                htmlView.RowTemplate.Rows[0].Cells.Add(new CellDefinition("Col2"));
                htmlView.RowTemplate.Rows[0].Cells.Add(new CellDefinition("Col3"));
                htmlView.RowTemplate.Rows[0].Cells.Add(new CellDefinition("Col4"));
                htmlView.RowTemplate.Rows[0].Cells.Add(new CellDefinition("Col5"));
                htmlView.RowTemplate.Rows[0].Cells.Add(new CellDefinition("Col6"));
                htmlView.RowTemplate.Rows[0].Cells.Add(new CellDefinition("Col7"));
                htmlView.RowTemplate.Rows[0].Cells.Add(new CellDefinition("Col8"));
                htmlView.RowTemplate.Rows[0].Cells.Add(new CellDefinition("Col9"));
                htmlView.RowTemplate.Rows[0].Cells.Add(new CellDefinition("Col10"));
                htmlView.RowTemplate.Rows[0].Cells.Add(new CellDefinition("Col11"));

                htmlView.RowTemplate.Rows[0].Cells.Add(new CellDefinition("Col12"));
                htmlView.RowTemplate.Rows[0].Cells.Add(new CellDefinition("Col13"));


                htmlView.RowTemplate.Rows[0].Cells.Add(new CellDefinition("Col14"));
                htmlView.RowTemplate.Rows[0].Cells.Add(new CellDefinition("Col15"));

  htmlView.RowTemplate.Rows[0].Cells[0].RowSpan = 2;
                htmlView.RowTemplate.Rows[0].Cells[3].RowSpan = 2;
                htmlView.RowTemplate.Rows[0].Cells[4].RowSpan = 2;

                htmlView.RowTemplate.Rows[0].Cells[3].ColSpan = 1;
                htmlView.RowTemplate.Rows[0].Cells[4].ColSpan = 1;

                htmlView.RowTemplate.Rows[0].Cells[5].RowSpan = 2;
                htmlView.RowTemplate.Rows[0].Cells[6].RowSpan = 2;
                htmlView.RowTemplate.Rows[0].Cells[7].RowSpan = 3;


 htmlView.RowTemplate.Rows[0].Cells[9].RowSpan = 2;
                htmlView.RowTemplate.Rows[0].Cells[10].RowSpan = 2;
                htmlView.RowTemplate.Rows[0].Cells[11].RowSpan = 2;
                htmlView.RowTemplate.Rows[0].Cells[12].RowSpan = 2;
                htmlView.RowTemplate.Rows[0].Cells[13].RowSpan = 2;

                htmlView.RowTemplate.Rows[0].Cells[14].RowSpan = 2;
                htmlView.RowTemplate.Rows[0].Cells[15].RowSpan = 2;


 htmlView.RowTemplate.Rows[0].Height = 30;

                htmlView.RowTemplate.Rows[1].Cells.Add(new CellDefinition("Item Description"));
                htmlView.RowTemplate.Rows[1].Cells[0].ColSpan = 2;
                htmlView.RowTemplate.Rows[1].Cells.Add(new CellDefinition("Direction"));
 htmlView.RowTemplate.Rows[1].Height = 30;
 gridDrugList.BestFitColumns();

                gridDrugList.MasterTemplate.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;

 gridDrugList.ViewDefinition = htmlView;

#1楼 票数:1 已采纳

Html视图定义似乎是一个已知问题 建议的解决方法是订阅RadGridView的SizeChanged事件并刷新行:

  private void RadGridView1_SizeChanged(object sender, EventArgs e)
  {
      radGridView1.TableElement.ViewElement.UpdateRows(true);
  }

  ask by Wasif Subzwari translate from so

未解决问题?本站智能推荐:

1回复

Telerik未知错误,未知版本

我有一个vs应用程序,我不知道使用的是什么版本,但是我使用的是2010年第二季度。请帮助我找到一个版本或获取此错误的解决方案。 1-索引是只读的。 2行信息没有CellElement属性和VisualElement。
1回复

Winform应用程序Telerik参考错误未解决

我想在 Winforms 中使用 Telerik。 项目构建完成后,出现错误。 我该如何解决?
1回复

RadGridviewBind重置过滤和列宽

当用户手动调整列宽度大小或将过滤器添加到RadGridview或任何其他更改然后绑定时,RadGridview将重置为默认值,即没有过滤器和列宽度与应用程序首次启动时相同。 我可以阻止这种情况发生吗?
1回复

如何获取Telerad多列组合框值(在rad网格视图中为一列)?

我想获得Telerik多功能组合框的第一个元素,它是Telerik网格视图的一列 当用户选择一行时,我想获取该行的第一个元素并将其传递给我的数据库 我做了一些事情,但我不满意 问题是当用户选择某行或未selectedindex索引时,索引始终为-1
1回复

将Datagridview行从C#中的第二个表单传递到第一个表单?

我有两种形式,比如Form1和Form2 。 在Form2我有一个带有某些行的Radgridview 。 如何从该表单向具有datagridview form1发送一行?
3回复

无法在Windows窗体上拖放Telerik组件

我试图将Telerik RadGridView拖放到Windows窗体上。 但是,它没有显示在窗体上(在设计器视图中),而是显示了位于设计器正下方的控件,即当从工具箱添加到窗体时,其中显示了某些控件(如DataSet,Binding Source,FileDialog控件)的区域。 对于任
1回复

指定WinForms的RadDock的仅允许区域

我想限制窗口/工具窗口可以停靠在RadDock中的区域。 我尝试了以下代码,但没有运气。 有人可以告诉我如何使用RadDock for WinForms限制窗口/工具窗口的可停靠区域
1回复

选择在Telerik网格中显示哪一列?

我有一个MVC telerik网格,其中显示多个列。 我想做的是为用户提供混合和匹配他们看到的列的选项,例如,如果网格可以显示10列,则界面可以为用户提供3列以查看数据,因此他们必须选择这三个网格将分别显示什么。 我认为它与.Columns命令有关,因此是否可以使用户通过GUI对其进行修改