在组合框中的不同行上显示记录

本文关键字:显示 记录 组合 | 更新日期: 2023-09-27 18:01:03

我想在组合框中显示我的所有记录,但这些记录显示在一行上。这是我的密码。我创建了两个类,从中检索数据。

数据处理程序代码:

public DataSet DataLoader(string _strQuery)
{
    DataSet ds = new DataSet();
    ds.Clear();
    using (conn = new SqlConnection())
    {
        conn = Connection.getconnection();
        oda = new SqlDataAdapter(_strQuery, conn);
        oda.Fill(ds, "Temp");
        conn.Close();
        conn.Dispose();
        oda.Dispose();
    }
    return ds;
}

数据类代码:

public System.String Loadbranch()
{
    string BranchName = "";
    string strquery = "select * from Expense";
    DataHandler dh = new DataHandler();
    System.Data.DataSet dsLoadData = new System.Data.DataSet();
    dsLoadData = dh.DataLoader(strquery);
    if (dsLoadData.Tables["Temp"].Rows.Count > 0)
    {
        for (int i = 0; i < dsLoadData.Tables["Temp"].Rows.Count; i++)
        {
            BranchName += dsLoadData.Tables["Temp"].Rows[i]["ExpenseID"].ToString();
        }
    }
    return BranchName;
}

数据显示的主要形式:

private void Edit_User_Load(object sender, EventArgs e)
{
    this.WindowState = FormWindowState.Maximized;
    this.MinimumSize = this.Size;
    this.MaximumSize = this.Size;
    cbsaveuserid.Items.Add(d.Loadbranch());
}

请帮助我在组合框中显示不同行的所有记录。

在组合框中的不同行上显示记录

Items表示对象的集合

修改LoadBranch()方法以返回字符串集合(例如,List<string>(,而不是一个串联字符串。

修改Edit_User_Load()以循环遍历集合,并将每个元素添加到cvsaveuserid.Items集合中。

我没有你的代码,所以我不能编译它,但我认为这会起作用:

    public List<string> Loadbranches()
    {
        List<string> branchNames = new List<string>();
        string strquery = "select * from Expense";
        DataHandler dh = new DataHandler();
        System.Data.DataSet dsLoadData = new System.Data.DataSet();
        dsLoadData = dh.DataLoader(strquery);
        if (dsLoadData.Tables["Temp"].Rows.Count > 0)
        {
            for (int i = 0; i < dsLoadData.Tables["Temp"].Rows.Count; i++)
            {
                branchNames.Add(dsLoadData.Tables["Temp"].Rows[i]["ExpenseID"].ToString());
            }
        }
        return branchNames;
    }
    private void Edit_User_Load(object sender, EventArgs e)
    {
        this.WindowState = FormWindowState.Maximized;
        this.MinimumSize = this.Size;
        this.MaximumSize = this.Size;
        foreach (string branchName in d.Loadbranches())
        {
            cbsaveuserid.Items.Add(branchName);
        }
    }