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赋值就不显示