7

データグリッドの列の幅を調整しようとすると問題が発生します。ここに投稿された回答を使用しましたが、解決できません。

オブジェクトのリストをデータソースとして使用しています。この単純な例では、スマート デバイス アプリケーションを作成し、データグリッドを追加しました。次に、私のコードは次のとおりです。

    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;
    }
}

幅はそのままです。手がかりはありますか?ありがとうございました!

4

2 に答える 2

7

この行を変更

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

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

ああ、4000 はモバイルには少し大きいですが、それはタイプミスだと思います。

于 2009-06-27T10:24:26.187 に答える