按列显示列表视图,按行显示相同的列表视图

本文关键字:列表 视图 显示 | 更新日期: 2023-09-27 18:17:32

我有个任务要完成。我必须从数据库中填充一个列表视图,并显示在列明智,并在一个按钮上单击显示它在行明智…我刚刚完成了从数据库中填充列表视图。现在我如何显示它是按列显示还是按行显示。请帮帮我……这是我试图填充数据库的代码…

public partial class DtposMDIParentSystem : Form
{
    List<object[]> result = new List<object[]>();
    public DtposMDIParentSystem()
    {
        InitializeComponent();
        //create the database connection
        OleDbConnection aConnection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:'Users'AP_AE'Desktop'DTPOS_APP'DataBase'DtposDatabase.accdb;");
        //create the command object and store the sql query
        OleDbCommand aCommand = new OleDbCommand("SELECT * FROM Food", aConnection);
        try
        {
            aConnection.Open();
            //create the datareader object to connect to table
            OleDbDataReader reader = aCommand.ExecuteReader();
            int i = 0;
            while (reader.Read())
            {
                result.Add(new Object[reader.FieldCount]);
                reader.GetValues(result[i]);
            }
            reader.Close();
            aConnection.Close();
        }
        catch (InvalidOperationException ex)
        {
            MessageBox.Show("Invalid Masseage = " + ex.Message);
        }
    }
     private void cmdOlives_Click(object sender, EventArgs e)
    {
        if (result.Count > 0)
            {
                string temp = "";
                for (int i = 0; i < result[1].Length; i++)
                {
                    temp += result[1][i] + "     ";
                }
                TableOrderListView.Items.Add(temp);
            }
    }
}

按列显示列表视图,按行显示相同的列表视图

您可以通过在不同的视图模式之间切换来实现类似的功能:

private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
    if (checkBox1.Checked)
    {
        listView1.View = View.Details;
        listView1.HeaderStyle = ColumnHeaderStyle.None;
        listView1.Columns[0].Width = listView1.ClientSize.Width - 25;
        listView1.Height = 244;
    }
    else
    {
        listView1.View = View.List;
        listView1.Columns[0].Width = 50;
        listView1.Height = 44;
    }
}

您需要添加一个 ColumnDetails视图工作!

注意,你必须调整Listview的大小:

  • Details模式下,它需要足够高以显示几个项目
  • List模式下,它将不得不相当宽,但一定不能高到足以显示多个项目(加上滚动条)!

如果你想切换行和列,你必须在你的数据源中这样做!