Отображение правого элемента данных в представлении данных с помощью Bindinglist - PullRequest
0 голосов
/ 10 мая 2011

Цель:

Показать поле «Инкапсуляция» от игрока

Проблема:
Хотите отобразить datamember_id, _name и _bust в классе mainform только с помощью bindingList

Предполагалось ли использовать синтаксис [] над полем инкапсуляции?


Class MainForm

    dataGridViewPlayers.AutoGenerateColumns=true;
    dataGridViewPlayers.AutoSizeColumnsMode=DataGridViewAutoSizeColumnsMode.Fill;

    bindingSourcePlayers.Clear();

    bindingSourcePlayers.DataSource = _myGameManager.Players;




Class GameManager:

    public BindingList<Player> Players
    {
        get
        {
            for (int i = 0; i < _myPlayerGUI_list.Count; i++)
            {
                _player.Add(new Player(_myPlayerGUI_list[i].Player));
            }
            return _player;
        }

    }

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CardGameClassLibrary;

namespace CardGameLib
{
    public class Player
    {

        private int _id;
        private string _name;
        private Hand _myHand;
        private int _win;
        private int _lost;
        private bool _madeMove = false;
        private bool _bust = false;


        public int Id
        {
            get { return _id; }
            set { _id = value; }
        }

        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }

        public Hand MyHand
        {
            get { return _myHand; }
            set { _myHand = value; }
        }

        public int Win
        {
            get { return _win; }
            set { _win = value; }
        }

        public int Lost
        {
            get { return _lost; }
            set { _lost = value; }
        }

        public bool MadeMove
        {
            get { return _madeMove; }
            set { _madeMove = value; }
        }

        public bool Bust
        {
            get { return _bust; }
            set { _bust = value; }
        }

        public Player(int pId)
        {
            _id = pId;

            _myHand = new Hand();
        }


        public Player(Player pPlayer)
        {
            _id = pPlayer.Id;
            //_name = pPlayer.Name;
            _name = "adsf";
        }


        public Player()
        {

        }



    }
}

1 Ответ

1 голос
/ 11 мая 2011

Вы можете использовать атрибут Browsable () , чтобы предотвратить показ определенных свойств в DataGridView при использовании BindingList.

Пример: если вы хотите скрыть MadeMove:

[Browsable(false)]
public bool MadeMove
{
    get { return _madeMove; }
    set { _madeMove = value; }
}
...