这样不行,datagrid的内容需要拖动才能看完,
标签也可以同时滚动?

解决方案 »

  1.   

    在STYLE风格里设置!STYLE="WIDTH:130PX";
      

  2.   

    属性生成器什么地方可以设置?
    请楼上大虾说清楚一点好吗?
    另外我这个是winForm的,
    STYLE="WIDTH:130PX";是web用的吧?
      

  3.   

    继承datagrid
    重写onmousedown方法
     Protected Overrides Sub OnMouseDown(ByVal e As System.Windows.Forms.MouseEventArgs)
            Point pt= New Point(e.X, e.Y);
            DataGrid.HitTestInfo hti = Me.HitTest(pt);
            If hti.Type = HitTestType.ColumnResize Then
                Return  
            End If
            MyBase.OnMouseDown(e)
        End Sub 
    sorry,我只会vb.net,这些c#不知写的对不对
      

  4.   

    好像不能叫c#,没用{}
    Protected Overrides Void OnMouseDown(ByVal e As System.Windows.Forms.MouseEventArgs)
       {
            Point pt= New Point(e.X, e.Y);
            DataGrid.HitTestInfo hti = Me.HitTest(pt);
            If hti.Type = HitTestType.ColumnResize 
           {
                Return  
            }
            MyBase.OnMouseDown(e);
        }
      

  5.   

    呵呵 if() 是要加括号的.
    等于也要用2个
    Protected Overrides Void OnMouseDown(ByVal e As System.Windows.Forms.MouseEventArgs)
    {
      Point pt= New Point(e.X, e.Y);
      DataGrid.HitTestInfo hti = Me.HitTest(pt);
      If (hti.Type == HitTestType.ColumnResize)
    {
      Return;
    }
      MyBase.OnMouseDown(e);
    }
      

  6.   

    好像没有OnMouseDown这个事件private void dataGrid1_MouseDown(object sender, MouseEventArgs e)
    {
    System.Drawing.Point pt = new Point(e.X,e.Y);  //获取鼠标点击dataGrid的行号
    DataGrid.HitTestInfo hti = this.dataGrid1.HitTest(pt);
    if (hti.Type == HitTestType.ColumnResize )
    {
    return;  
    }
    MyBase.OnMouseDown(e);
    }找不到类型或命名空间名称“HitTestType”(是否缺少 using 指令或程序集引用?)
    找不到类型或命名空间名称“MyBase”(是否缺少 using 指令或程序集引用?)出这两个错……
      

  7.   

    protected override void dataGrid1_MouseDown_1(object sender, MouseEventArgs e)  
        {
    System.Drawing.Point pt = new Point(e.X,e.Y);  //获取鼠标点击dataGrid的行号
    DataGrid.HitTestInfo hti = this.dataGrid1.HitTest(pt);
    x=hti.Row;
    if (hti.Type == HitTestType.ColumnResize )
    {
      Return;  
    }
            MyBase.OnMouseDown(e);
            }
             
    出现的错误是:没有找到适合的方法来重写
    不知道大家还有解决方法没有??
      

  8.   

    System.Drawing.Point pt = new Point(e.X,e.Y); 
    DataGrid.HitTestInfo hti = this.dataGrid1.HitTest(pt);
    if (hti.Type == DataGrid.HitTestType.ColumnResize)
    {
        return;  
    }虽然还是可以拖动改变宽度,但却间接解决了我的问题,所以结贴了。