Windows Mobile 应用程序中 DataGrid 的列宽

发布于 2024-07-25 12:53:37 字数 1215 浏览 3 评论 0原文

我在尝试调整数据网格列的宽度时遇到问题。 我使用了此处发布的答案,但是我无法解决它。

我使用对象列表作为数据源。 在这个简单的示例中,我刚刚创建了一个智能设备应用程序,并添加了一个数据网格。 那么我的代码是这样的:

    public Form1()
    {            
        InitializeComponent();

        List<Prueba> lista = new List<Prueba>();
        lista.Add(new Prueba("uno", "dos"));
        lista.Add(new Prueba("tres", "cuatro"));

        dataGrid1.DataSource = lista;
        DataGridTableStyle tableStyle = new DataGridTableStyle();
        tableStyle.MappingName = lista.GetType().ToString();
        DataGridTextBoxColumn tbcName = new DataGridTextBoxColumn();
        tbcName.Width = 4000;
        tbcName.MappingName = "UNO";
        tbcName.HeaderText = "UNO";
        tableStyle.GridColumnStyles.Add(tbcName);
        dataGrid1.TableStyles.Clear();
        dataGrid1.TableStyles.Add(tableStyle);
    }
}

public class Prueba
{
    public string UNO { get; set; }
    public string DOS { get; set; }

    public Prueba(string uno, string dos)
    {
        this.UNO = uno;
        this.DOS = dos;
    }
}

宽度保持不变。 你有线索吗? 谢谢你!

I'm having problems trying to adjust the width of a column of a datagrid. I used the answer posted here, but I can't solve it.

I'm using a List of objects as a datasource. In this simple example, I have just created a smart device application, and just added a datagrid. Then my code is this one:

    public Form1()
    {            
        InitializeComponent();

        List<Prueba> lista = new List<Prueba>();
        lista.Add(new Prueba("uno", "dos"));
        lista.Add(new Prueba("tres", "cuatro"));

        dataGrid1.DataSource = lista;
        DataGridTableStyle tableStyle = new DataGridTableStyle();
        tableStyle.MappingName = lista.GetType().ToString();
        DataGridTextBoxColumn tbcName = new DataGridTextBoxColumn();
        tbcName.Width = 4000;
        tbcName.MappingName = "UNO";
        tbcName.HeaderText = "UNO";
        tableStyle.GridColumnStyles.Add(tbcName);
        dataGrid1.TableStyles.Clear();
        dataGrid1.TableStyles.Add(tableStyle);
    }
}

public class Prueba
{
    public string UNO { get; set; }
    public string DOS { get; set; }

    public Prueba(string uno, string dos)
    {
        this.UNO = uno;
        this.DOS = dos;
    }
}

The width remains the same. Do you have a clue? Thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

心碎无痕… 2024-08-01 12:53:53

对于任何使用 DataTable 作为数据源而不是列表的人,看来您必须将: 更改

tableStyle.MappingName = lista.GetType().Name;

为:

tableStyle.MappingName = lista.TableName;

花了我一段时间才弄清楚这一点!

For anyone using a DataTable as the DataSource instead of a list, it appears you have to change:

tableStyle.MappingName = lista.GetType().Name;

to:

tableStyle.MappingName = lista.TableName;

Took me a while to figure this out!

陌伤ぢ 2024-08-01 12:53:49

将此行更改

tableStyle.MappingName = lista.GetType().ToString();

tableStyle.MappingName = lista.GetType().Name;

Oh,4000 对于移动设备来说有点大,但我认为这是一个拼写错误。

Change this line

tableStyle.MappingName = lista.GetType().ToString();

to

tableStyle.MappingName = lista.GetType().Name;

Oh, and 4000 is a little big for a mobile but I assume that's a typo.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文