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

    本文转自:http://www.cnblogs.com/perfect/archive/2008/06/10/1216591.html



    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等属性。

  • 相关阅读:
    #333 Div2 Problem B Approximating a Constant Range(尺取法)
    苦逼的单身狗(玄乎的尺取大法)
    欧拉项目第四题之三位数之积数的最大回数
    欧拉项目第三题之最大质数因子
    关于尺取法的认识与简单例题
    codeforces 980B Marlin
    康托展开和逆康托展开
    Chrome控制台中Network的Preview与Response区别
    配置Express中间件
    Express中间件简介
  • 原文地址:https://www.cnblogs.com/freeliver54/p/1590363.html
Copyright © 2011-2022 走看看