如题,请给个例子。还有与datagridview配套的combo,也请给个例子。本人刚学C#。

解决方案 »

  1.   

    DataGridView 本来就自带有显示 combo 的列: DataGridViewComboColumn
      

  2.   

    http://bbs.bc-cn.net/thread-208598-1-1.html
      

  3.   

    public partial class CustomDataGridView : DataGridView
        {
            public CustomDataGridView()
            {
                InitializeComponent();
            }        protected override void OnPaint(PaintEventArgs pe)
            {
                base.OnPaint(pe);
            }
        }public class DataGridViewComboEditBoxCell : DataGridViewComboBoxCell
        {
            public override void InitializeEditingControl(int rowIndex, object initialFormattedValue, DataGridViewCellStyle dataGridViewCellStyle)
            {
                base.InitializeEditingControl(rowIndex, initialFormattedValue, dataGridViewCellStyle);            ComboBox comboBox = base.DataGridView.EditingControl as ComboBox;
                if (comboBox != null)
                {
                    comboBox.DropDownStyle = ComboBoxStyle.DropDown;
                }
            }
        }public class DataGridViewComboEditBoxColumn : DataGridViewComboBoxColumn
        {
            public DataGridViewComboEditBoxColumn()
            {
                DataGridViewComboEditBoxCell cell = new DataGridViewComboEditBoxCell();
                this.CellTemplate = cell;
            }
        }
      

  4.   


                SqlConnection sql = new SqlConnection(@"Data Source=LIUFENG\SQLEXPRESS;Initial Catalog=liufeng;Integrated Security=True");
                sql.Open();
                SqlCommand cmd = new SqlCommand("Select * from CrmCustomer", sql);
                DataSet dss = new DataSet();
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                da.Fill(dss);
                sql.Close();
                DataTable dt = dss.Tables[0];
                this.dataGridView.DataSource = dt;
                DataGridViewComboBoxColumn colums = new DataGridViewComboBoxColumn();
                colums.DataSource = dt;
                colums.DisplayMember = "name";
                colums.ValueMember = "ID";
                colums.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
                colums.HeaderText = "haha";
                this.dataGridView.Columns.Add(colums);
    随便写了一个.主要是colums.DataSource = dt;以及colums.Items.Add()来做数据源 用 colums.DisplayMember来显示
    和colums.ValueMember 做值.