0
How to insert Checkbox into the Form from a database. Where the table field will be the Checkbox Text?
Example:
Tabela -- 
0|Versao
1|2.9.15
2|2.9.16
put 2 Checkbox for the user to choose the supported version.
0
How to insert Checkbox into the Form from a database. Where the table field will be the Checkbox Text?
Example:
Tabela -- 
0|Versao
1|2.9.15
2|2.9.16
put 2 Checkbox for the user to choose the supported version.
1
Whereas you have the values you need in a Datatable:
            DataTable dt = new DataTable();
            int h = 0;
            foreach (DataRow r in dt.Rows)
            {
                CheckBox cb = new CheckBox();
                cb.Text = r["nome_do_campo"].ToString();
                cb.Checked = false;
                cb.Parent = this;
                cb.Location = new System.Drawing.Point(0, h);
                h += cb.Height;
                cb.Show();
            }
Implementing the code to use the Checkedchanged event:
 private void MontarCheckBox(DataTable dt)
    {
        int h = 0;
        foreach (DataRow row in dt.Rows)
        {
            CheckBox cb = new CheckBox();
            cb.Text = row["Version"].ToString();
            cb.Name = row["Version"].ToString();
            cb.Checked = false;
            cb.Parent = this; 
            cb.Location = new System.Drawing.Point(0, h); 
            h += cb.Height;
            cb.CheckedChanged += cb_CheckedChanged;
            cb.Show();
        }
    }
    void cb_CheckedChanged(object sender, EventArgs e)
    {
        //sender é o objeto CheckBox onde o evento ocorreu
        CheckBox cb = ((CheckBox)sender);
        if (cb.Checked)
        {
            string versao = cb.Name;
            //Faz o processamento que deseja
        }
    }
							Thank you very much, it worked :)
for nothing, =] Dispose.
Another question. I wanted now with the previous code executed, imagining that I have 2 checkbox selected. Now I want when these two had selected, to record the value of these chechbox in a variable, and then be able to compare these to other values.
in this case, set a name or tag for the checkbox
cb. Name = r["column_name"]. Tostring();
then you can in some event, trigger the recording of the data, be it button, load, anything.
for the checkbox check event, use: cb.Checkedchanged += cb_CheckedChanged;
void cb_CheckedChanged(Object Sender, Eventargs e) { //event implementation }
I’m gonna put it here like I did, because it’s not working
`int h = 0; foreach (Datarow Row in dt.Rows) { Checkbox cb = new Checkbox(); cb. Text = Row["Version"]. Tostring(); cb.Name = Row["Version"]. Tostring(); cb.Checked = false; cb.Parent = this; cb.Location = new System.Drawing.Point(0, h); h += cb.Height; cb.Checkedchanged += Cb_checkedchanged; cb.Show(); }
private void Cb_checkedchanged(Object Sender, Eventargs e) { Checkbox cb = new Checkbox(); if(cb.Checked) { Start(); } }
But error :cb.Checkedchanged += Cb_checkedchanged;
is that I will need the name of the selected checkbox to do an update afterwards
moment, I will update the answer
ready, updated the answer
Browser other questions tagged c#
You are not signed in. Login or sign up in order to post.
Hello Ana, all right? So, if I got it right you just want the text of the check box to be 2.9.15 or 2.9.16, is that it? I couldn’t quite understand your question. It is possible that you are flagged by it.
– Ulisses Hen
Hello :) Yes exactly, I wanted the text that appears in the "checkbox text" sent by the database.
– Ana Carvalho