簡體   English   中英

“ListViewItem”不包含采用 1 個參數的構造函數

[英]'ListViewItem' does not contain a constructor that takes 1 argument

我正在嘗試使用訪問數據庫中的項目填充 listView。 我能夠在 Windows 窗體中完成此操作,但我正在嘗試在 WPF 中執行此操作。 我的“填充”功能出現錯誤。 行'ListViewItem item = new ListViewItem(row);' 是我看到錯誤的地方。 任何幫助是極大的贊賞。 提前致謝!

        private void populate(String id, String emp, String basket, String recipe, String time, String pos1, String pos2, String pos3, String pos4, String pos5,
                          String pos6, String pos7, String pos8, String pos9, String pos10, String pos11, String pos12, String pos13, String pos14, String pos15, String pos16,
                          String pos17, String pos18, String pos19, String pos20, String pos21, String pos22, String pos23, String pos24, String pos25)
    {

        // Row           
            String[] row = { id.ToString(), emp.ToString(), basket.ToString(), recipe.ToString(), time.ToString(), pos1.ToString(), pos2.ToString(), pos3.ToString(), pos4.ToString(), pos5.ToString(), pos6.ToString(), pos7.ToString(), pos8.ToString(), pos9.ToString(), pos10.ToString(), pos11.ToString(), pos12.ToString(), pos13.ToString(), pos14.ToString(), pos15.ToString(), pos16.ToString(), pos17.ToString(), pos18.ToString(),
                         pos19.ToString(), pos20.ToString(), pos21.ToString(), pos22.ToString(), pos23.ToString(), pos24.ToString(), pos25.ToString() };

            ListViewItem item = new ListViewItem(row);
            listView.Items.Add(row);


    }


    // Retrieve 
    private void retrieve()
    {
        listView.Items.Clear();

        //Sql statement
        String sql = "Select * FROM Cleaner_Log";
        cmd = new OleDbCommand(sql, con);

        //Open connection, retrieve, and fill listview1
        try
        {
            con.Open();
            adapter = new OleDbDataAdapter(cmd);

            adapter.Fill(dt);

            //Loop thru dt
            foreach (DataRow row in dt.Rows)
            {
                populate(row[0].ToString(), row[1].ToString(), row[2].ToString(), row[3].ToString(), row[4].ToString(), row[5].ToString(), row[6].ToString(), row[7].ToString(), row[8].ToString(),
                         row[9].ToString(), row[10].ToString(), row[11].ToString(), row[12].ToString(), row[13].ToString(), row[14].ToString(), row[15].ToString(), row[16].ToString(), row[17].ToString(),
                         row[18].ToString(), row[19].ToString(), row[20].ToString(), row[21].ToString(), row[22].ToString(), row[23].ToString(), row[24].ToString(), row[25].ToString(), row[26].ToString(),
                         row[27].ToString(), row[28].ToString(), row[29].ToString());
            }

            con.Close();

            //Clear datatable
            dt.Rows.Clear();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
            con.Close();
        }
    }

ListView 類的構造函數是默認構造函數,因此您不能傳遞任何參數

代碼隱藏

方法調用順序

public static System.Windows.Controls.ListView lv;
public static GridView gridView;
public MainWindow()
{
    InitializeComponent();
    SetupListView();//To Initializes List and its properties 
    SetupListViewHeaders();//adds Column headers
    Final();//Adding listview to Children for display
}

方法定義

private void SetupListView()
{
 lv = new System.Windows.Controls.ListView();            
 lv.Margin = new Thickness(10, 15, 0, 0);
 lv.Height = 500;
 lv.Width = 700;         
 gridView = new GridView();
 lv.View = gridView;           
}

private void SetupListViewHeaders()
{
    gridView.Columns.Add(new GridViewColumn
    {
                    Header = "Id",
                    DisplayMemberBinding = new Binding("Id")
    });
    gridView.Columns.Add(new GridViewColumn
    {
        Header = "Emp",
        DisplayMemberBinding = new Binding("Emp")
    });
    gridView.Columns.Add(new GridViewColumn
    {
        Header = "Basket",
        DisplayMemberBinding = new Binding("Basket")
    });
    gridView.Columns.Add(new GridViewColumn
    {
        Header = "Recipe",
        DisplayMemberBinding = new Binding("Recipe")
    });
    gridView.Columns.Add(new GridViewColumn
    {
        Header = "Time",
        DisplayMemberBinding = new Binding("Time")
    });

    for (int i = 1; i <= 25; i++)
    {
        gridView.Columns.Add(new GridViewColumn
        {
            Header = "Pos" + i.ToString(),
            DisplayMemberBinding = new Binding("Pos" + i.ToString())
        });
    }
}



private void Populate(String id, String emp, String basket, String recipe, String time, String pos1, String pos2, String pos3, String pos4, String pos5,
                             String pos6, String pos7, String pos8, String pos9, String pos10, String pos11, String pos12, String pos13, String pos14, String pos15, String pos16,
                             String pos17, String pos18, String pos19, String pos20, String pos21, String pos22, String pos23, String pos24, String pos25)
{ 

    lv.Items.Add(
    new
    {
        Id = 1, Emp = "David", Basket = basket, Recipe = recipe,
        Time = time, Pos1=pos1, Pos2=pos2, Pos3=pos3, Pos4=pos4, Pos5=pos5, Pos6=pos6, Pos7=pos7,Pos8=pos8,
        Pos9=pos9, Pos10=pos10, Pos11=pos11, Pos12=pos12, Pos13=pos13, Pos14=pos14, Pos15=pos15, Pos16=pos16,Pos17=pos17, Pos18=pos18,
        Pos19=pos19, Pos20=pos20, Pos21=pos21, Pos22=pos22, Pos23=pos23, Pos24=pos24, Pos25=pos25


    });


}      


    private void Final()
    {
        MainGrid.Children.Add(lv);
    }


輸出

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM