zoukankan      html  css  js  c++  java
  • DataGridViewComboBoxColumn的使用



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

    namespace Sys
    {
        
    public partial class Form3 : Form
        {
            
    public Form3()
            {
                InitializeComponent();
            }

            
    private void Form3_Load(object sender, EventArgs e)
            {
                dataGridView1.AllowUserToAddRows 
    = false;
                dataGridView1.AutoGenerateColumns 
    = false;

                
    using (SqlConnection sqlconn = new SqlConnection("server=.;uid=sa;pwd=sa;database=xx"))
                {
                    
    string sql1 = @"select userid,fullname,a.[description],b.ugroupid
                                    from users a left outer join usergroup b 
                                    on a.grade=b.ugroupid
    ";
                    
    string sql2 = "select distinct ugroupid,[description] from usergroup";

                    DataGridViewComboBoxColumn dgvComboBoxColumn 
    = dataGridView1.Columns["grade"as DataGridViewComboBoxColumn;
                    dgvComboBoxColumn.DataPropertyName 
    = "ugroupid";
                    dgvComboBoxColumn.DataSource 
    = GetTable(sql2).DefaultView;//必须在设置dataGridView1的DataSource的属性前设置
                    dgvComboBoxColumn.DisplayMember = "description";
                    dgvComboBoxColumn.ValueMember 
    = "ugroupid";

                    dataGridView1.DataSource 
    = GetTable(sql1).DefaultView;//一定要在dgvComboBoxColumn的DataSource后设置
                }
            }

            
    private DataTable GetTable(string sql)
            {
                
    using (SqlConnection sqlconn = new SqlConnection("server=.;uid=sa;pwd=yuling1310;database=smls"))
                {
                    DataTable dt 
    = new DataTable();
                    SqlDataAdapter sqlda 
    = new SqlDataAdapter(sql, sqlconn);
                    sqlda.Fill(dt);
                    
    return dt;
                }
            }
        }
    }

    注意事项:
    .注意其ValueMember的DataType与DataPropertyName对应的列的DataType要相同,他不会为你做类型转换的。
    2.编程设置显示样式时注意一定要在设置DataSource之前设置DataGridViewComboBoxColumn的DataSource等属性。
  • 相关阅读:
    美国诚实签经验——必带材料:护照,证件照,DS160确认页,面试预约确认页,+境外照片
    美国诚实签经验——医院预约单和医院资料,医生预约收据和报价表,赴美预算,赴美行程,保险是加分项,工作证明(勾出职位和薪酬),附上名片或者工卡,全家福照片
    php MySQLi部分函数(面向对象和过程)
    php calling scope
    mysqli_set_charset和SET NAMES优劣分析
    php 父类子类构造函数注意事项
    Dreamweaver显示花括号匹配
    php 父类调用子类方法和成员
    PHP 重载 __call() _callStatic方法
    转:Linus:利用二级指针删除单向链表
  • 原文地址:https://www.cnblogs.com/perfect/p/1216591.html
Copyright © 2011-2022 走看看