在DataGridView中选择行后关闭窗体

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在DataGridView中选择行后关闭窗体相关的知识,希望对你有一定的参考价值。

Schema 我有一个表格[frmProducts],上面有一些TextBox和一个按钮[btnSearch]。 单击该按钮时,它将打开一个新形式[frmProductSearch],只有一个DataGridView [dtgvProductSearch]和一个关闭[btnClose]的按钮[frmProductSearch]

我想单击搜索按钮,通过datagrid导航,在所选行上按Enter并将数据从DataBase发送到另一个形式[frmProducts],以便我可以更改信息。

答案

这种情况的一个简单例子

frmProducts:

private void btnSearch_Click(object sender, EventArgs e)
        {
            var frmSearch = new frmSearchProducts
            {
                ProductName = textBox1.Text.Trim(),
                ProductCategory = textBox2.Text.Trim()
            };

            if(frmSearch.ShowDialog() == DialogResult.OK)
            {
                // get selected rows...
                var selectedRows = frmSearch.SelectedProducts;
            }        
        }

frmProductSearch:

private List<Product> _selectedProducts;

        public List<Product> SelectedProducts
        {
            get
            {
                return _selectedProducts;
            }
        }

        public string ProductName { get; set; }

        public string ProductCategory { get; set; }

        private void frmSearchProducts_Load(object sender, EventArgs e)
        {
            _selectedProducts = new List<Product>();

            this.KeyPreview = true;

            //TODO: do search product            
        }

        protected override void OnKeyDown(KeyEventArgs e)
        {
            base.OnKeyDown(e);

            switch (e.KeyCode)
            {
                case Keys.Enter:
                    {
                        //TODO: Get your selected on gridview...
                        _selectedProducts = new List<Product>();

                        // set dialog result
                        DialogResult = DialogResult.OK;

                        // close form
                        Hide();
                    }
                    break;

            }
        }

以上是关于在DataGridView中选择行后关闭窗体的主要内容,如果未能解决你的问题,请参考以下文章

DataGridView拖动到TreeView

关闭子窗体时如何刷新datagridview?

C# - 删除行后如何刷新 DataGridView

C#winform程序中,将A窗体datagridview中选中的数据传到B窗体里面的各个文本框中进行修改

选择 datagridview其中的一行 然后在单击修改按钮 ,页面跳转

防止在 DataGridView 中选择单元格