1

我通过以下代码将数据库加载到列表框中:

using (SqlConnection myDatabaseConnection = new SqlConnection(myConnectionString.ConnectionString))
        {
            myDatabaseConnection.Open();
            using (SqlCommand SqlCommand = new SqlCommand("Select ID, LastName from Employee", myDatabaseConnection))
            {
                SqlDataReader dr = SqlCommand.ExecuteReader();
                while (dr.Read())
                {
                    listBox1.Items.Add((string)dr["LastName"] + "    " + dr["ID"]);
                }
            }
        }

结果:

1

如何在列表框中对齐这样的数据?

2

4

3 回答 3

1
using (SqlConnection myDatabaseConnection = new SqlConnection(myConnectionString.ConnectionString))
    {
        myDatabaseConnection.Open();
        using (SqlCommand SqlCommand = new SqlCommand("Select ID, LastName from Employee", myDatabaseConnection))
        {
            SqlDataReader dr = SqlCommand.ExecuteReader();
            while (dr.Read())
            {
                int lastNameLength = dr["LastName"].Length;
                int idLength = dr["ID"].Length;
                int numberOfSpaces = 30 - lastNameLength - idLength;
                string spaces = string.Empty;
                for (int i = 0; i < numberOfSpaces; i++)
                {
                    spaces = spaces + " "; 
                }                    
                listBox1.Items.Add((string)dr["LastName"] + spaces + dr["ID"]);
            }
        }
    }

这应该适合你。请注意,“int numberOfSpaces = 30 - lastNameLength - idLength;”行中的 30,30 只是一个硬编码值,表示文本框中单行可以容纳的字符数。您可以使用该号码或从您的文本框中拉入它。但是这个方法现在应该将姓氏设置在框的左侧,id 应该固定在框的右侧。我希望这有帮助。

问候,

凯尔

于 2013-06-07T19:36:41.990 回答
0

我认为您应该将数据添加到 dataGridView 组件中并使用表事件。

阅读这篇关于 Datagridview 的文章,根据您的描述,它是您所需要的

于 2013-06-07T19:13:20.243 回答
-1
while (dr.Read())
{
    listBox1.Items.Add((string)dr["LastName"] + "    " + dr["ID"],HorizontalAlignment.Right);
}
于 2017-10-14T05:57:48.327 回答