繁体   English   中英

将数据显示到列表框C#

[英]display data to listbox C#

列表框不显示数据。 验证数据在数据库中,但没有收到错误消息。 不确定哪里/哪里出了问题。 提前致谢。 我的代码已附上。

 private void UpDateList()
        {
            //  add data connection and fill data set.

            SqlConnection conn = new SqlConnection(dataSource);
            DataTable dt = new DataTable();
            string sqlString = "select * from Suppliers";
            SqlCommand cmd = new SqlCommand();
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();

            try
            {
                cmd.Connection = conn;
                conn.Open();
                cmd.CommandText = sqlString;
                da.Fill(ds);
                conn.Close();
            }
            catch (SqlException ex)
            {
                MessageBox.Show(ex.ToString());
            }
            finally
            {
                conn.Close();
            }
            foreach(DataRow dRow in ds.Tables[0].Rows)
            {
                ArrayList values = new ArrayList();
                foreach(object value in dRow.ItemArray)
                {
                    values.Add(value);
                    _Suppliers.Add(values);
                }
            }    
            lstSuppliers.DataSource = _Suppliers;
            lstSuppliers.Update();
        }

枚举一个可绑定的数据集合并将数据传输到另一个可绑定的集合以便可以绑定是没有意义的。 只是让您的列表使用已经保存数据的数据表的默认视图(允许排序,过滤等)

例如

LstSuppliers.DataSource = ds.Tables[0].DefaultView;
LstSuppliers.DisplayMember = "column name goes here of what to show eg SupplierName";
LstSuppliers.ValueMember = "column whose value to use for lstSuppliers.SelectedValue e.g. supplierId";

然后,例如,不是必需的,而是一个示例可能性:

ds.Tables[0].DefaultView.Sort = "[SupplierName] ASC";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM