自定义DataGridview下拉输入不同单元就不显示了

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Design;
using System.Data.Common;
using System.Data.SqlClient;

namespace datagridcell{
public class CellTextBox : ToolStripDropDown
{

    private ToolStripControlHost dataGridViewHost;
    private DataTable dataTable = new DataTable();
    SqlConnection cn = new SqlConnection("Data Source=.;Initial Catalog=xxx;Persist Security Info=True;User ID=sa;Password=system");
    SqlCommand cm = new SqlCommand();
    DataSet ds = new DataSet();
    SqlDataAdapter da = new SqlDataAdapter();
    SqlCommandBuilder cb = new SqlCommandBuilder();

    public DataTable CdataTable {
        get { return dataTable; }
        set {
            DataGridView.DataSource = value;
            dataTable = value;    
        }
    }
    public CellTextBox()
    {
        DataGridView dataGridView = new DataGridView();
        dataGridView.ScrollBars = ScrollBars.Both;
        dataGridView.AutoSize = true;
        dataGridView.AllowUserToAddRows = false;
        dataGridView.AllowUserToDeleteRows = false;
        dataGridView.AllowUserToResizeRows = false;
        dataGridView.Dock = DockStyle.Fill;
        dataGridView.BorderStyle = BorderStyle.None;
        dataGridView.ReadOnly = true;
        dataGridView.AllowUserToAddRows = false;
        dataGridView.RowHeadersVisible = false;
        dataGridView.AutoSize = false;
        dataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect;


        //设置DataGridView的数据源
        Form frmDataSource = new Form();
        frmDataSource.Controls.Add(dataGridView);
        frmDataSource.SuspendLayout();
        dataGridViewHost = new ToolStripControlHost(dataGridView);
        dataGridViewHost.Margin = new Padding(2, 2, 2, 2);
        dataGridViewHost.Padding = Padding.Empty;
        dataGridViewHost.AutoSize = false;


        this.Items.Clear();         
        this.Items.Add(dataGridViewHost);
        this.AutoClose = true; //是否自动关闭   

        /**
         * 第一种数据显示
         * */
        //DataTable dt = new DataTable();
        //dt.Columns.Add("编号");
        //dt.Columns.Add("姓名");
        //dt.Columns.Add("部门");

        //dt.LoadDataRow(new string[] { "1003", "小张", "a" }, true);
        //dt.LoadDataRow(new string[] { "1004", "小王", "a" }, true);
        //DataGridView.DataSource = dt;

        /**
         * 第二种数据显示
         * */

        //cm = new SqlCommand("  SELECT TOP 10 code ,name FROM    zd_sex_code ", cn);
        //da = new SqlDataAdapter(cm);
        //da.SelectCommand = cm;

        //da.Fill(ds, "zd_sex_code");
        ////cellTextBox1.DataGridView.DataSource = ds.Tables["zd_sex_code"];
        //DataGridView.DataSource = ds.Tables["zd_sex_code"];

    }

    public DataGridView DataGridView
    {
        get
        {       
            return dataGridViewHost.Control as DataGridView;
        }        
    }

    public void ShowDropDown(Control control)
    {
        if (this != null)
        {     
            Point point = control.Location;
            point.Offset(0, control.Height + 2);
            this.Show(control, point);
        }
    }

    public void CloseDropDown()
    {
        this.Close();       
    }    
}

}

在别的窗体如 :textbox 下绑定 重写给datagridview赋值就不显示

积分不多,请各位大神帮忙看看!!!

整个完全都不对
Form frmDataSource = new Form();
然后你想做什么,就没有让这个窗体显示的逻辑