拉动&拆分列表视图中的数据库项

时间:2015-12-02 16:20:27

标签: c# sql database listview listbox

我编写了一些代码来简单地从紧凑的SQL服务器(4.0)中提取数据库信息。在那一刻我刚刚用几个空格分隔了每个项目,但是我想知道如何拉出每个项目并让它对应于标题。在这里初始化:

InitializeListView

private void InitializeListView()
{
    // Set the view to show details.
    lbxBugged.View = View.Details;

    // Allow the user to rearrange columns.
    lbxBugged.AllowColumnReorder = true;

    // Select the item and subitems when selection is made.
    lbxBugged.FullRowSelect = true;

    // Display grid lines.
    lbxBugged.GridLines = true;

    // Sort the items in the list in ascending order.
    lbxBugged.Sorting = SortOrder.Ascending;

    // Attach Subitems to the ListView

    lbxBugged.Columns.Add("Code", 300, HorizontalAlignment.Left);
    lbxBugged.Columns.Add("Description", 200, HorizontalAlignment.Left);
    lbxBugged.Columns.Add("Author", 120, HorizontalAlignment.Left);
}

我试过了:

最初使用列表框,但我已经读过多列的内容,那么必须使用listview。所以我已经换成了listview,但它没有填充列表。不太确定哪种方法可以解决这个问题。

我已经初始化了listview,因此它显示了标题,我只需要知道如何用相应的数据库信息填充这些空格。

populateListBox (从我使用列表框开始,一直在研究,但只能找到人们用实际数据库而不是紧凑数据库填充包含数据库信息的列表视图。)

public void populateListBox()
{
    String query = "SELECT Bug_Code, Bug_Description, Bug_Author FROM tblBugs";
    SqlCeCommand mySqlCommand = new SqlCeCommand(query, mySqlConnection);
    try
    {
        mySqlConnection.Open();
        SqlCeDataReader mySqlDataReader = mySqlCommand.ExecuteReader();
        lbxBugged.Items.Clear();
        while (mySqlDataReader.Read())
        {
            lbxBugged.Items.Add(mySqlDataReader["Bug_Code"].ToString() + "     " + mySqlDataReader["Bug_Description"].ToString() + "     " + mySqlDataReader["Bug_Author"].ToString());
        }
    }
    catch (SqlCeException)
    {
        MessageBox.Show("Error populating list box");
    }
}

1 个答案:

答案 0 :(得分:2)

第一次使用Listview所以忘了使用item&子项目。这是我为其他人奋斗的完成方法:

document.getElementById("checkoutbtn").onclick = Checkbox;

function Checkbox() {
    //Deleted parenthesis below, because checked is a property, not a function
    var FirstClass = document.getElementById("First-Class").checked;
    var Standard = document.getElementById("Standard").checked;

    if ((FirstClass && Standard) || (!FirstClass && !Standard)) {
        // Show the message when only one is checked
        document.getElementById("CheckError").textContent = "Please Ensure everything is covered.";
    }
    else {
        // Set empty string in other case
        document.getElementById("CheckError").textContent = "";
    }
}