我正在用MySQL(C#)以win形式为大学做学生出勤项目 .
我已经问Hidden Column in Listbox我得到了解决方案 .
Updated Query -
string MyConString = ConfigurationManager.ConnectionStrings["College_Management_System.Properties.Settings.cmsConnectionString"].ConnectionString;
MySqlConnection connection = new MySqlConnection(MyConString);
string cnd1 = "select name,admin_no from student_admision_master where course='" + course_code + "' AND year='" + year_code + "' AND sem='" + semester_code + "' AND batch='" + batch_code + "'";
MySqlDataAdapter da = new MySqlDataAdapter(cnd1, connection);
connection.Open();
DataSet ds = new DataSet();
MySqlCommand command = connection.CreateCommand();
da.Fill(ds, "student_admision_master");
//dataGridView1.DataSource = ds.Tables[formName];
listBox1.DataSource = ds.Tables[0].DefaultView;
listBox1.DisplayMember = "name";
listBox1.ValueMember = "admin_no";
connection.Close();
我在LIstbox中找到了学生姓名 . 但是,.. Listbox到Listbox移动代码抛出错误,..
//所有Listbox2项目移动到列表框3
private void btn_toOd_Click(object sender, EventArgs e)
{
int count = listBox2.Items.Count;
for (int i = 0; i < count; i++)
{
listBox3.Items.Add(listBox2.Items[i].ToString());
}
listBox2.Items.Clear();
}
//所有Listbox3项目移动到列表框2
private void btn_fromOd_Click(object sender,EventArgs e){int count = listBox3.Items.Count; for(int i = 0; i <count; i){listBox2.Items.Add(listBox3.Items [i] .ToString()); } listBox3.Items.Clear(); }
//仅限所选项目移动..
private void btn_toAb_Selected_Click(object sender, EventArgs e)
{
int count = listBox1.SelectedItems.Count;
for (int i = 0; i < count; i++)
{
listBox2.Items.Add(listBox1.SelectedItems[i].ToString());
}
for (int i = 0; i < count; i++)
{
listBox1.Items.Remove(listBox1.SelectedItems[0]);
}
}
private void btn_fromAb_Selected_Click(object sender, EventArgs e)
{
int count = listBox2.SelectedItems.Count;
for (int i = 0; i < count; i++)
{
listBox1.Items.Add(listBox2.SelectedItems[i].ToString());
}
for (int i = 0; i < count; i++)
{
listBox2.Items.Remove(listBox2.SelectedItems[0]);
}
}
设置DataSource属性时,无法修改项集合 . 在ARGUMENT EXCEPTION中 .
如何将Listbox1中的项目集合移动到Listbox2 .
以及如何从列表框中访问特定的ValueMember(admin_no) .
bzs我想根据admin_no保存记录 .
信息是否足够或者我可以在这里添加图片,..
请给出一个想法!...
提前致谢....
1 回答
您的列表框是数据绑定 - 这意味着,列表框中的项目由绑定管理器自动管理 . 你无法真正按照你的方式移动物品 .
相反,您需要相应地修改基础数据源 . 这意味着:不要在列表框中添加/删除项目,而是从基础数据集添加/删除项目 .
列表框中的每个项目都是
DataRow
或DataRowView
,其具有Row
属性以访问基础DataRow
. 一旦有权访问DataRow
,就可以使用row['fieldname']
确定字段值 .要将行从一个数据集移动到另一个数据集,您必须使用目标表上的
ImportRow
方法添加该行 . 然后,您必须从源表中删除该行 . 示例(您可能需要稍微玩一下,因为我现在还没有尝试过):