assuming you are using Windows.Forms1. You need to define a display member for L2, for example L2.DisplayMember = "ColumnName";2. show your deletion code
1. you need to use a column name in your table!!! 2. L2.Items.Remove(L2.SelectedItem);不能指定啊! 一指定的话就不能添加了!而且我在开始的时候就填充数据集了! private void Frm_main1_Load(object sender, System.EventArgs e) { //填充数据集 ds_Frm_main1_zy1.Clear(); oleDb_zy.Fill(ds_Frm_main1_zy1); } 所以要是指定 listBox2.DisplayMember = "ColumnName"; 在打开窗口的时候listBox2里面就显示数据了!我要的是空值啊!
{
listBox2.DisplayMember = "ColumnName";
listBox2.Items.Add(listBox1.SelectedItem);
}
不行!效果一样!2. show your deletion codeL2.Items.Remove(L1.SelectedItem);
2. L2.Items.Remove(L2.SelectedItem);
1.为何显示的是对象类型,因为SelectItem是表示控件中当前选定内容的对象,而并非value.
2:对于这种现像,我想有可能是你自己在设置错误。
-----感谢使用.net 产品。-----------sample----------------------------
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.ListBox listBox1;
private System.Windows.Forms.ListBox listBox2;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button2;
private System.Data.DataSet dataSet1;
private System.Data.DataTable dataTable1;
private System.Data.DataColumn dataColumn1;
private System.Data.DataColumn dataColumn2;
private System.Data.DataColumn dataColumn3;
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null; public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent(); //
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
} /// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
} #region Windows Form Designer generated code
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.listBox1 = new System.Windows.Forms.ListBox();
this.dataTable1 = new System.Data.DataTable();
this.dataColumn1 = new System.Data.DataColumn();
this.dataColumn2 = new System.Data.DataColumn();
this.dataColumn3 = new System.Data.DataColumn();
this.listBox2 = new System.Windows.Forms.ListBox();
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.dataSet1 = new System.Data.DataSet();
((System.ComponentModel.ISupportInitialize)(this.dataTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dataSet1)).BeginInit();
this.SuspendLayout();
//
// listBox1
//
this.listBox1.AllowDrop = true;
this.listBox1.DataSource = this.dataTable1;
this.listBox1.DisplayMember = "Name";
this.listBox1.Location = new System.Drawing.Point(16, 56);
this.listBox1.Name = "listBox1";
this.listBox1.Size = new System.Drawing.Size(112, 82);
this.listBox1.TabIndex = 0;
this.listBox1.ValueMember = "Name";
//
// dataTable1
//
this.dataTable1.Columns.AddRange(new System.Data.DataColumn[] {
this.dataColumn1,
this.dataColumn2,
this.dataColumn3});
this.dataTable1.TableName = "Table1";
//
// dataColumn1
//
this.dataColumn1.ColumnName = "Name";
this.dataColumn1.DefaultValue = "WebLogic";
//
// dataColumn2
//
this.dataColumn2.ColumnName = "Sex";
this.dataColumn2.DefaultValue = "M";
//
// dataColumn3
//
this.dataColumn3.ColumnName = "Age";
this.dataColumn3.DefaultValue = "100";
//
// listBox2
//
this.listBox2.Location = new System.Drawing.Point(160, 56);
this.listBox2.Name = "listBox2";
this.listBox2.Size = new System.Drawing.Size(120, 82);
this.listBox2.TabIndex = 1;
//
// button1
//
this.button1.Location = new System.Drawing.Point(48, 184);
this.button1.Name = "button1";
this.button1.TabIndex = 2;
this.button1.Text = "Add";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// button2
//
this.button2.Location = new System.Drawing.Point(184, 184);
this.button2.Name = "button2";
this.button2.TabIndex = 3;
this.button2.Text = "Remove";
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// dataSet1
//
this.dataSet1.DataSetName = "NewDataSet";
this.dataSet1.Locale = new System.Globalization.CultureInfo("zh-CN");
this.dataSet1.Tables.AddRange(new System.Data.DataTable[] {
this.dataTable1});
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(292, 273);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.button2,
this.button1,
this.listBox2,
this.listBox1});
this.Name = "Form1";
this.Text = "Form1";
this.Load += new System.EventHandler(this.Form1_Load);
((System.ComponentModel.ISupportInitialize)(this.dataTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dataSet1)).EndInit();
this.ResumeLayout(false); }
#endregion /// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
} private void button1_Click(object sender, System.EventArgs e)
{
this.listBox2.Items.Add(this.listBox1.SelectedValue); } private void button2_Click(object sender, System.EventArgs e)
{
this.listBox2.Items.Remove(this.listBox2.SelectedItem);
}
private void Form1_Load(object sender, System.EventArgs e)
{
DataRow newRow0= this.dataTable1.NewRow();
this.dataTable1.Rows.Add(newRow0);
dataTable1.Rows[0]["Name"] = "Robby";
dataTable1.Rows[0]["Sex"] = "Boy";
dataTable1.Rows[0]["Age"] = "22"; DataRow newRow1= dataTable1.NewRow();
this.dataTable1.Rows.Add(newRow1);
dataTable1.Rows[1]["Name"] = "coffeemilk";
dataTable1.Rows[1]["Sex"] = "Girl";
dataTable1.Rows[1]["Age"] = "21";
DataRow newRow2= dataTable1.NewRow();
this.dataTable1.Rows.Add(newRow2);
dataTable1.Rows[2]["Name"] = "Rose";
dataTable1.Rows[2]["Sex"] = "Girl";
dataTable1.Rows[2]["Age"] = "20";
}
}
{
//填充数据集
ds_Frm_main1_zy1.Clear();
oleDb_zy.Fill(ds_Frm_main1_zy1);
}private void bt_ad_Click(object sender, System.EventArgs e)
{
listBox2.Items.Add(listBox1.SelectedValue);
}还是不行!问题一样!
我是用OLB连接到一个ACC表中的,然后listBox1中的数据是使用DATASET进行填充的!唉`~怎么解决?
// dataColumn1这是什么控件?
2. L2.Items.Remove(L2.SelectedItem);不能指定啊!
一指定的话就不能添加了!而且我在开始的时候就填充数据集了!
private void Frm_main1_Load(object sender, System.EventArgs e)
{
//填充数据集
ds_Frm_main1_zy1.Clear();
oleDb_zy.Fill(ds_Frm_main1_zy1);
}
所以要是指定
listBox2.DisplayMember = "ColumnName";
在打开窗口的时候listBox2里面就显示数据了!我要的是空值啊!