当前位置: 代码迷 >> GIS >> c# datagridview 实现这种功能如何实现
  详细解决方案

c# datagridview 实现这种功能如何实现

热度:185   发布时间:2016-05-05 06:18:01.0
c# datagridview 实现这种功能怎么实现

请各位指导下,谢谢了
C# DataGridView

------解决方案--------------------
有一个控件 可以包容其他控件并显示。把 datagridview 加入到那个东西里就可以了。具体名字我忘记了
------解决方案--------------------
你可以把第二个DataGridView放进ToolStripDropDown里,以菜单栏的形式显示,给你一个简单的演示在窗体里放两个DataGridView第一个添加两列AAA、BBB,代码如下




 

ToolStripDropDown toolStripDropDown = new ToolStripDropDown();
        ToolStripControlHost toolStripControlHost;
        public Form12()
        {
            InitializeComponent();
            DataTable dataTable = new DataTable();
            dataTable.Columns.AddRange(
                new DataColumn[] { 
                    new DataColumn("CCC"), 
                    new DataColumn("DDD") });
            dataTable.Rows.Add(new object[] { "1", "A" });
            dataTable.Rows.Add(new object[] { "2", "B" });
            dataTable.Rows.Add(new object[] { "3", "C" });
            dataGridView2.DataSource = dataTable;
            toolStripControlHost = new ToolStripControlHost(dataGridView2);
            toolStripDropDown.Items.Add(toolStripControlHost);
            toolStripDropDown.Margin =
                toolStripDropDown.Padding =
                toolStripControlHost.Margin =
                toolStripControlHost.Padding = Padding.Empty;
            toolStripDropDown.AutoSize = true;
        }
        int row1 = -1;
        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            row1 = e.RowIndex;
            toolStripDropDown.Show(MousePosition);
        }
        private void dataGridView2_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            dataGridView1[0, row1].Value = dataGridView2[0, e.RowIndex].Value;
            dataGridView1[1, row1].Value = dataGridView2[1, e.RowIndex].Value;
            toolStripDropDown.Hide();
        }

  相关解决方案