DevComponents.AdvTree.Cell单元格设置为可编辑状态,并且编辑框属性为数字类型DevComponents.AdvTree.eCellEditorType.NumericInteger,
我的问题是当双击时这个数字类型控件进行输入时,这个控件长度显示太小,只可以显示1位数。请问大侠怎么将输入框变长?

解决方案 »

  1.   

    EditType设置成:eCellEditorType.NumericInteger之后,当编辑Cell时自动会出现一个IntegerInput Control,这个Control的Dock属性是Fill,你只要把列宽拉的大一点,IntegerInput自动会按列宽充满,就不存在长度小的问题.
      

  2.   

    我Cell节点代码如下,外面的绿色边框很长,但是点击输入时里面的数字控件就一位大小,列宽再大也不行,不知为何?
    DevComponents.AdvTree.Cell UserNameLabel = new DevComponents.AdvTree.Cell();
    UserNameLabel.Text = "预置点";
    UserNameLabel.StyleNormal = new DevComponents.DotNetBar.ElementStyle();
    UserNameLabel.StyleNormal.Border = DevComponents.DotNetBar.eStyleBorderType.Solid;
    UserNameLabel.Editable = false;
    DvsCameraNode.Cells.Add(UserNameLabel);
    DevComponents.AdvTree.Cell Preset = new DevComponents.AdvTree.Cell();
    Preset.StyleNormal = new DevComponents.DotNetBar.ElementStyle();
    Preset.StyleNormal.Border = DevComponents.DotNetBar.eStyleBorderType.Solid;
    Preset.StyleNormal.BorderWidth = 2;
    Preset.StyleNormal.BorderColor = Color.Green;
    Preset.StyleNormal.MaximumWidth = 200;Preset.StyleNormal.PaddingLeft = 0;
    Preset.StyleNormal.PaddingRight = 100;
    Preset.StyleNormal.PaddingBottom = 5;
    Preset.StyleNormal.PaddingTop = 0;
    Preset.Editable = true;
    Preset.EditorType = DevComponents.AdvTree.eCellEditorType.NumericInteger;
    Preset.StyleNormal.WordWrap = false;
    Preset.Text = "1";
    DvNode.Cells.Add(Preset);
      

  3.   

    处理一下PrepareCellEditorControl事件
     private void advTree1_PrepareCellEditorControl(object sender, PrepareCellEditorEventArgs e)
            {
                IntegerInput ii = e.Editor as IntegerInput;
                if(ii != null)
                {
                    ii.DisplayFormat = "d5";
                    ii.FreeTextEntryMode = true;
                }
            }
      

  4.   

    bloodish你好,
    你那个响应函数在EditorType为eCellEditorType.Custom才能进入,如果eCellEditorType.NumericInteger不会进入。
    谢谢你的关注。
      

  5.   


    你的判断是不对的,任何情况都能触发这个事件.另外如果实在无法满足你的要求,设置Cell的HostControl为一个IntegerInput
    步骤为先在UI上添加一个IntegerInput,设置其相关属性,再在Cell Collection Editor中
    选择Cell的HostControl为你刚添加的IntegerInput.实际项目中对DotNetBar还是比较熟悉的,用的也比较多,希望能给你一点帮助.
      

  6.   

    谢谢bloodish,用HostControl方法简单有效。