dataGridView中的复选框

本文关键字:复选框 dataGridView | 更新日期: 2023-09-27 18:20:43

添加文件后,我希望选中复选框,而不是在dataGridView列中看到"是"。我该怎么做?

我在做什么:

在"主"窗体中,当我单击"添加"时,frmAddVideo会出现在我需要插入所有视频信息的位置。在frmAddVideo表单中,有一个值为"是"answers"否"的组合框,用于显示视频的可用性。如果选择"是",则添加后的视频将显示在dataGridVideo中,dataGridView中必须有一个"勾选"复选框,反之亦然。

我提供了代码,但我认为它不正确,因为它不起作用。我不提供主要表格,因为没有必要。

frmAddVideo

namespace A6
{
    public partial class FrmAddVideo : Form
    {
        internal Video NewVideo;
        public FrmAddVideo()
        {
            InitializeComponent();
        }
        //ADD VIDEO
        private void button1_Click_1(object sender, EventArgs e)
        {
                NewVideo = new Video();
                NewVideo.Title = textBox1.Text;
                NewVideo.Category = Convert.ToString(comboBox1.SelectedItem);
                NewVideo.YearReleased = Convert.ToInt32(numericUpDown1.Value);
                NewVideo.RunTime = Convert.ToDouble(textBox2.Text);
                //AVAILABILITY
                //How do I make this to apear as a checkbox in the dataGridView?
                NewVideo.Availability = Convert.ToString(comboBox2.SelectedItem);
                if (NewVideo.yesNo() == true)
                    MessageBox.Show("Yes");
                else
                    MessageBox.Show("No");

                MessageBox.Show("Video added");
                this.Close();
        }
    }
}

frmViewVideo

namespace A6
{
    public partial class frmViewVideo : Form
    {
        internal Video NewVideo;
        public frmViewVideo()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        private void frmViewVideo_Load(object sender, EventArgs e)
        {
            textBox1.Text = NewVideo.Title;
            textBox2.Text = Convert.ToString(NewVideo.RunTime);
            numericUpDown1.Value = NewVideo.YearReleased;
            comboBox1.SelectedItem = Convert.ToString(NewVideo.Category);
            comboBox2.SelectedItem = Convert.ToString(NewVideo.Availability);
        }
    }
}

namespace A6
{
    [Serializable]
    class Video
    {
        private string mTitle;
        private string mCategory;
        private int mYearReleased;
        private double mRunTime;
        private string mAvailability;
        //bool mshowing3D;
        public string Title
        {
            get { return mTitle; }
            set { mTitle = value; }
        }
        public string Category
        {
            get { return mCategory; }
            set { mCategory = value; }
        }
        public int YearReleased
        {
            get { return mYearReleased; }
            set { mYearReleased = value; }
        }
        public double RunTime
        {
            get { return mRunTime; }
            set { mRunTime = value; }
        }
        public string Availability
        {
            get { return mAvailability; }
            set { mAvailability = value; }
        }
        public bool yesNo()
        {
            if (mAvailability == "Yes")
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        //CONSTRUCTOR
        public Video()
        {
            mTitle = "No Name";
            mCategory = "No Category";
            mYearReleased = 0;
            mRunTime = 0;
        }
    }
}

应用程序的其余部分运行良好。只是不知道该如何处理bool声明的可用性。

谢谢大家!

J

dataGridView中的复选框

Firs在表单中创建一个新的复选框,如下所示:

<asp:CheckBox ID="SelectCheckBox" runat="server" />

然后将MessageBox控件更改为CheckBox,并将值传递给其选中的属性:

//AVAILABILITY
                //How do I make this to apear as a checkbox in the dataGridView?
                NewVideo.Availability = Convert.ToString(comboBox2.SelectedItem);
                                SelectCheckBox.Checked = NewVideo.yesNo();