HelloWordl 2015-05-11 11:55 采纳率: 0%
浏览 1820
已结题

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

  • 写回答

2条回答 默认 最新

  • HelloWordl 2015-05-11 11:56
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 使用C#,asp.net读取Excel文件并保存到Oracle数据库
  • ¥15 C# datagridview 单元格显示进度及值
  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配