【问题标题】:Adding search function to an invoice application向发票应用程序添加搜索功能
【发布时间】:2017-09-02 08:49:12
【问题描述】:

我是编程新手,只知道 c# 的基础知识。

我正在 Visual Studio 中做一个发票应用程序,它可以存储客户姓名、联系电话、地址、成本、购买日期。

我想在我的发票应用程序中添加一个搜索功能,以通过那里的名称检索客户。这些是我的代码。请帮忙

命名空间 Invoice_Application_Final { 公共部分类主要:表格 {

    public Main()
    {
        InitializeComponent();

        //ListVIEW Properties
        listView.View = View.Details;
        listView.FullRowSelect = true;


        //Add column to listView
        listView.Columns.Add("Customer Number", 100);
        listView.Columns.Add("Customer Name", 150);
        listView.Columns.Add("Address", 200);
        listView.Columns.Add("Invoice Number", 100);
        listView.Columns.Add("Contact Number ", 100);
        listView.Columns.Add("Description", 200);
        listView.Columns.Add("Costs", 100);
        listView.Columns.Add("Payment Date", 100);

    }




    // insert to listView
    private void insert(string CustNum, string CustName, string Address, string InvoiceNum, string ContactNum, string Description, string Costs, string PaymentDate)
    {

        // Arrays
        string[] row = { CustNum, CustName, Address, InvoiceNum, ContactNum, Description, Costs, PaymentDate };

        ListViewItem item = new ListViewItem(row);

        listView.Items.Add(item);


    }





    private void update()
    {
        //Update
        listView.SelectedItems[0].SubItems[0].Text = TXTCustomerNumber.Text;
        listView.SelectedItems[0].SubItems[1].Text = TXTCustomerName.Text;
        listView.SelectedItems[0].SubItems[2].Text = TXTAddress.Text;
        listView.SelectedItems[0].SubItems[3].Text = InvoiceNumberTXT.Text;
        listView.SelectedItems[0].SubItems[4].Text = ContactNumberTXT.Text;
        listView.SelectedItems[0].SubItems[5].Text = DescriptionTXT.Text;
        listView.SelectedItems[0].SubItems[6].Text = CostsTXT.Text;
        listView.SelectedItems[0].SubItems[7].Text = PaymentDateTXT.Text;

        // Clear All textBox after Pressing Button
        TXTCustomerNumber.Text = "";
        TXTCustomerName.Text = "";
        TXTAddress.Text = "";
        InvoiceNumberTXT.Text = "";
        ContactNumberTXT.Text = "";
        DescriptionTXT.Text = "";
        CostsTXT.Text = "";
        PaymentDateTXT.Text = "";

    }


    private void delete()
    {
        if (MessageBox.Show("Are you sure?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
        {
            listView.Items.RemoveAt(listView.SelectedIndices[0]);
        }

        // Clear All textBox after Pressing Button
        TXTCustomerNumber.Text = "";
        TXTCustomerName.Text = "";
        TXTAddress.Text = "";
        InvoiceNumberTXT.Text = "";
        ContactNumberTXT.Text = "";
        DescriptionTXT.Text = "";
        CostsTXT.Text = "";
        PaymentDateTXT.Text = "";
    }






    private void btnInsert_Click(object sender, EventArgs e)
    {
        //Insert
        insert(TXTCustomerNumber.Text, TXTCustomerName.Text, TXTAddress.Text, InvoiceNumberTXT.Text, ContactNumberTXT.Text, DescriptionTXT.Text, CostsTXT.Text, PaymentDateTXT.Text);

        // Clear All textBox after Pressing Button
        TXTCustomerNumber.Text = "";
        TXTCustomerName.Text = "";
        TXTAddress.Text = "";
        InvoiceNumberTXT.Text = "";
        ContactNumberTXT.Text = "";
        DescriptionTXT.Text = "";
        CostsTXT.Text = "";
        PaymentDateTXT.Text = "";
    }





    private void Main_Load(object sender, EventArgs e)
    {

    }



    private void btnUpdate_Click(object sender, EventArgs e)
    {

        update();


    }



    private void btnDelete_Click(object sender, EventArgs e)
    {
        delete();
    }



    private void btnClear_Click(object sender, EventArgs e)
    {
        TXTCustomerNumber.Text = "";
        TXTCustomerName.Text = "";
        TXTAddress.Text = "";
        InvoiceNumberTXT.Text = "";
        ContactNumberTXT.Text = "";
        DescriptionTXT.Text = "";
        CostsTXT.Text = "";
        PaymentDateTXT.Text = "";
    }




    private void listView1_MouseClick(object sender, MouseEventArgs e)
    {
        TXTCustomerNumber.Text = listView.SelectedItems[0].SubItems[0].Text;
        TXTCustomerName.Text = listView.SelectedItems[0].SubItems[1].Text;
        TXTAddress.Text = listView.SelectedItems[0].SubItems[2].Text;
        InvoiceNumberTXT.Text = listView.SelectedItems[0].SubItems[3].Text;
        ContactNumberTXT.Text = listView.SelectedItems[0].SubItems[4].Text;
        DescriptionTXT.Text = listView.SelectedItems[0].SubItems[5].Text;
        CostsTXT.Text = listView.SelectedItems[0].SubItems[6].Text;
        PaymentDateTXT.Text = listView.SelectedItems[0].SubItems[7].Text;



    }

    private void Searchtxt_TextChanged(object sender, EventArgs e)
    {



        }


}
}

【问题讨论】:

    标签: c# arrays listview search visual-studio-2015


    【解决方案1】:

    如果它是一个 Windows 窗体项目,我相信它是,您可以使用称为自动完成模式的文本框功能: AutoCompleteMode

    如果您的项目是 UWP,您将使用名为 AutoSuggestBox 的控件: AutoSuggestBox

    在代码隐藏中,当有人输入搜索词或单击建议匹配项时,您可以将所需的任何代码放入各种事件处理程序中。

    【讨论】:

    • AutoSuggestBox 仅适用于 UWP,不适用于 WPF。 WPF Toolkit 中有一个 AutoCompleteBox。对于标准 WPF,您可以在 ComboBox 上设置 IsEditable="True"。但我认为 OP 在ICollectionView 之后。
    猜你喜欢
    • 2010-10-24
    • 1970-01-01
    • 2011-11-11
    • 1970-01-01
    • 2021-07-26
    • 2016-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多