首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C# 数据库操作解决方法

2013-09-06 
C# 数据库操作最近希望实现个功能,找不到好的办法问题是:winform中form1上一个按钮点击后,弹出form2窗口,

C# 数据库操作
最近希望实现个功能,找不到好的办法
  问题是:
    winform中form1上一个按钮点击后,弹出form2窗口,在form2窗口上将数据库的一个表单的前两列显示出来,前面附有复选框,如图
数据库内容C# 数据库操作解决方法
form2图C# 数据库操作解决方法
点击form2上按钮,将选中的数据生成新的数据库表或是赋予一个参数
C# 数据库操作解决方法请教各路高手如何实现或同工异曲的途径,谢谢!
[解决办法]

引用:
要达到这样的效果 需要动态创建控件

或者用一个CheckBoxList,设置数据源,每个CheckBox的Text赋值为“学号”+“  ”+“姓名”
[解决办法]
假设你已经从access读出一个DataTable。
private static DataTable GetData()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("学号", typeof(Int32));
            dt.Columns.Add("姓名", typeof(string));
            dt.Columns.Add("年龄", typeof(Int32));

            DataRow dr = null;
            dr = dt.NewRow();
            dr["学号"] = 1;
            dr["姓名"] = "张三峰";
            dr["年龄"] = 13;
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["学号"] = 2;
            dr["姓名"] = "无常";
            dr["年龄"] = 12;
            dt.Rows.Add(dr);



            dr = dt.NewRow();
            dr["学号"] = 3;
            dr["姓名"] = "李四";
            dr["年龄"] = 13;
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["学号"] = 4;
            dr["姓名"] = "王五";
            dr["年龄"] = 11;
            dt.Rows.Add(dr);

            return dt;
        }


在form_load事件中动态添加checkbox
 private void Form1_Load(object sender, EventArgs e)
        {
            DataTable dt = GetData();
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                CheckBox cb = new CheckBox();
                cb.Name = "checkbox" + i;
                cb.Location = new Point(10, 20 * i);
                cb.Text = dt.Rows[i]["姓名"].ToString();
                this.Controls.Add(cb);
            }
        }

在另外一个按钮中就可以得到选中的checkbox的name和text。
 private void button1_Click(object sender, EventArgs e)
        {
            foreach (Control ctl in this.Controls)
            {


                if (ctl is CheckBox)
                {
                    CheckBox cb = ctl as CheckBox;
                    if (cb.Checked)
                    {
                        MessageBox.Show("Name:" + cb.Name + "\tText:" + cb.Text);
                    }
                }
            }
        }

热点排行