none
datagridview控制列的宽度 RRS feed

答案

  • 比如有两列 序号, 标题 (删除先前的代码,在绑定后加下下面的代码)

    dataGridView1.Columns[0].Width = 50; // 序号
    dataGridView1.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill // 标题

    知识改变命运,奋斗成就人生!
    2009年5月15日 9:40
    版主

全部回复

  • 自动创建列请参考
    自定义绑定,请参考(你可以在创建列的时候指定列宽)

    知识改变命运,奋斗成就人生!
    2009年5月15日 8:53
    版主
  • protected override void OnDataBindingComplete(DataGridViewBindingCompleteEventArgs e)
    {
        base.OnDataBindingComplete(e);

        foreach (DataGridViewColumn fColumn in this.Columns)
        {
            fColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; // 最值宽度
            //fColumn.Width = 100; // 提定宽度
        }
    }

    这个就可以了么?
    base.OnDataBindingComplete这个. 点不出来
    2009年5月15日 9:06
  • 你添加 DataGridView 的 DataBindingComplete 事件,在事件中写, 那断代码是 DataGridView 扩展控件中的


            private void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
            {
                foreach (DataGridViewColumn fColumn in dataGridView1.Columns)
                {
                    fColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; // 最值宽度
                    //fColumn.Width = 100; // 提定宽度
                }
            }


    知识改变命运,奋斗成就人生!
    2009年5月15日 9:11
    版主
  • 感觉用了也没什么用,把AutoSizeColumnMode设置成Fill之后和加上面的代码之后,运行效果是一样的
    我需要根据列单元格里的字符长度来控制宽度.
    比如:标题列肯定要寬些了,序号列就窄了.
    2009年5月15日 9:36
  • 比如有两列 序号, 标题 (删除先前的代码,在绑定后加下下面的代码)

    dataGridView1.Columns[0].Width = 50; // 序号
    dataGridView1.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill // 标题

    知识改变命运,奋斗成就人生!
    2009年5月15日 9:40
    版主
  • X.X.Y 不好意思啊,下午那时候太忙了,都忘了给你回消息了,问题解决了,项目也赶着做完了。
    我这会刚到家才想起来给你回复。

    万分感谢!!!

    2009年5月15日 14:27
  • 没关系,很高兴能帮上忙
    知识改变命运,奋斗成就人生!
    2009年5月15日 14:59
    版主