簡體   English   中英

c#DataGridView.DataSource = BindingList不起作用

[英]c# DataGridView.DataSource = BindingList Doesn't Work

我創建了一個綁定列表BindingList<RunData> ,並將其通過CustomMessageBox.Show()傳遞,但是DataGridView不顯示列表元素。

public partial class CustomMessageBox : Form
{
    #region Fields.

    private static CustomMessageBox customMessageBox;

    private static String selectedDateTime;

    #endregion

    #region Properties.

    internal String SelectedDateTime
    { get { return CustomMessageBox.selectedDateTime; } }

    #endregion

    #region Constructors.

    private CustomMessageBox()
    {
        InitializeComponent();            
    }

    #endregion

    #region Methods.

    internal static DialogResult Show(BindingList<RunData> dataGridViewData)
    {
        CustomMessageBox.customMessageBox = new CustomMessageBox();
        CustomMessageBox.customMessageBox.dataGridViewRunData.AutoGenerateColumns = true;
        CustomMessageBox.customMessageBox.dataGridViewRunData.DataSource = dataGridViewData;            
        return CustomMessageBox.customMessageBox.ShowDialog();            
    }

    #endregion
}

internal class RunData
{
    #region Fields.

    private String dateTime;

    private String name;

    private String product;

    private String result;

    #endregion

    #region Properties.

    internal String DateTime
    { get { return this.dateTime; } }

    internal String Name
    { get { return this.name; } }

    internal String Product
    { get { return this.product; } }

    internal String Result
    { get { return this.result; } }

    #endregion

    #region Constructors.

    internal RunData(String dateTime, String name, String product, String result)
    {
        this.dateTime = dateTime;
        this.name = name;
        this.product = product;
        this.result = result;
    }

    #endregion
}

我以前從未使用過BindingList ,但是從網上找到的示例中,我似乎一切正常。 任何幫助,將不勝感激。

謝謝!

編輯

我正在使用.NET 2.0(如果有任何區別)。

在測試中,我發現模型類(即RunData)和/或屬性應該是Public而不是內部的。

我創建了一個示例類,並對網格進行了相同的設置。 它因內部屬性和類而失敗。 一旦我公開,那就很好了。

  public class RunData
  {
        #region Fields.

        private String dateTime;

        private String name;

        private String product;

        private String result;

        #endregion

        #region Properties.

        public String DateTime
        { get { return this.dateTime; } }

        public String Name
        { get { return this.name; } }

        public String Product
        { get { return this.product; } }

        public String Result
        { get { return this.result; } }

        #endregion

        #region Constructors.

        public RunData(String dateTime, String name, String product, String result)
        {
            this.dateTime = dateTime;
            this.name = name;
            this.product = product;
            this.result = result;
        }

        #endregion
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM