zoukankan      html  css  js  c++  java
  • datagrid column width in silverlight.

    The possible values for DataGridLenth are:

    • Auto: This auto-sizes the column or row to grow to the size of the largest header or cell.  It is effectively a combination of the other two auto-size modes.  You might notice as you scroll when a new larger cell is encountered that this value increases.  It will however not decrease once that item is scrolled out of view.
    • SizeToHeader: This auto-sizes the column or row the grow to the size of the header.  This will ignore the contents of the cells when determining its size and will not change unless the size of the header changes.
    • SizeToCells: This auto-sizes the column or row to grow to the size of the largest visible cell.  It will ignore the header cell in this calculation.  You might notice as you scroll when a new larger cell is encountered that this value increases.  It will however not decrease once that item is scrolled out of view.
    • Numeric: Unlike the others this is not an enum value, but rather simply a numeric value such as 100.  This mode will behave the same way that Beta 1 did, however setting it in code behind is slightly different.

    ===============================

    private void setColumnWidth()
            {
                double steadyWidth = 470;
                double variableWidth = dgView.Width - steadyWidth;

                if (dgView.Columns.Count >= 11)
                {
                    int[] adjustColumnIndex = new int[] { 0, 6, 7, 8 };
                    double[] ratio = new double[4] { 0.14742, 0.61503, 0.08983, 0.10596 };
                    for (int i = 0; i < adjustColumnIndex.Length; i++)
                    {
                        dgView.Columns[adjustColumnIndex[i]].Width = new DataGridLength(ratio[i] * variableWidth);
                    }
                }
            }

    ===================

            private void adjustColumnWidth()
            {
                double totalActualWidth = 0;
                foreach(var column in dgView.Columns)
                {
                    if (column.Header != null && column.Header.ToString().ToLower().Trim() == "reg. no.")
                    {
                        column.Width = new DataGridLength(70);
                      
                        column.Width = DataGridLength.SizeToCells;

                        dgView.UpdateLayout();
                     
                    }
                    else if (column.Header != null && column.Header.ToString().ToLower().Trim() == "location")
                    {
                        column.Width = new DataGridLength(70);

                        column.Width = DataGridLength.SizeToCells;

                        dgView.UpdateLayout();

                    }
                    totalActualWidth += column.ActualWidth;
                }
                double difWidth = dgView.Width - totalActualWidth - 20;
                foreach (var column in dgView.Columns)
                {
                    if (column.Header !=null && column.Header.ToString().ToLower().Trim() == "location" && column.ActualWidth >= -difWidth)
                    {
                        column.Width  = new DataGridLength(column.ActualWidth + difWidth);
                        //column.Width = DataGridLength.SizeToCells;
                        break;
        }
                }

                //auto height the height row.
                dgView.RowHeight = 10;
                Dispatcher.BeginInvoke(delegate
                {
                    dgView.RowHeight = double.NaN;
                });

            }

  • 相关阅读:
    good
    C# 调用控制台程序,并获取输出写入文件
    正则基础之——环视(Lookaround)
    C# 正则表达式及常用正则表达式
    c# winform 关于DataGridView的一些操作(很全,绝对够用)
    [bzoj4542][Hnoi2016]大数——同余+莫队
    [bzoj4010][HNOI2015]菜肴制作——拓扑排序
    [bzoj5285][Hnoi2018]寻宝游戏——思维+排序
    NOIP2018游记&&总结
    [bzoj5289][Hnoi2018]排列——贪心+堆
  • 原文地址:https://www.cnblogs.com/visi/p/1886640.html
Copyright © 2011-2022 走看看