C#从dataGridView1填充ComboBox1

时间:2016-12-02 13:02:48

标签: c#

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


namespace ArsCRM
{
public partial class Form1 : Form
{

    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        SqlConnection con = new SqlConnection();
        con.ConnectionString = @"Data Source=test\s08r2;Initial Catalog=Demo;User id=sa;Password=123456";
        con.Open();
        SqlDataAdapter sda = new SqlDataAdapter(@"
            SELECT acSubject, acAddress, acPost, acName, acPhone, 
            acFieldSA, acFieldSB, acFieldSC, acFieldSD, acFieldSE, 
            anFieldNA, anFieldNB, anFieldNC, anFieldND, anFieldNE, OdgovornaOsoba, acSubjTypeBuyer
            FROM ARS.dbo._ARSCRM_vSubjekti order by acSubject
            ", con);
        DataTable dt = new DataTable();
        sda.Fill(dt);
        dataGridView1.DataSource = dt;


        }


    private void txtSearch_TextChanged(object sender, EventArgs e)
    {
        if (string.IsNullOrEmpty(txtSearch.Text))
        {
            (dataGridView1.DataSource as DataTable).DefaultView.RowFilter = string.Empty;
        }
        else
        {
            (dataGridView1.DataSource as DataTable).DefaultView.RowFilter = string.Format("acSubject like '%{0}%'", txtSearch.Text);
        }
    }

    private void dataGridView1_SelectionChanged(object sender, EventArgs e)
    {


        DataGridView dgv = (DataGridView)sender;

        if (dgv.SelectedCells.Count > 0)
            txtAcFieldSA.Text = dgv.Rows[dgv.SelectedCells[0].RowIndex].Cells[5].Value.ToString();            
    }

}
}

我有这个代码,在最后两行填充txtAcFieldSA和所选行的6.列。

我想在ComboBox1上做一些事情。当我在ComboBox1中选择一些行时填充6.列。这可能吗?

1 个答案:

答案 0 :(得分:1)

根据TextBox

进行Joust
    private void dataGridView1_SelectionChanged(object sender, EventArgs e)
            {


                DataGridView dgv = (DataGridView)sender;

                if (dgv.SelectedCells.Count > 0)
                 {
                    txtAcFieldSA.Text = dgv.Rows[dgv.SelectedCells[0].RowIndex].Cells[5].Value.ToString();
                    ComboBox1.Text = dgv.Rows[dgv.SelectedCells[0].RowIndex].Cells[6].Value.ToString();
                 }
            }

或者如果要将其作为项添加到comboBox:

    private void dataGridView1_SelectionChanged(object sender, EventArgs e)
        {


            DataGridView dgv = (DataGridView)sender;

            if (dgv.SelectedCells.Count > 0)
            {
                txtAcFieldSA.Text = dgv.Rows[dgv.SelectedCells[0].RowIndex].Cells[5].Value.ToString();

                ComboBox1.Items.Add(dgv.Rows[dgv.SelectedCells[0].RowIndex].Cells[6].Value.ToString();)
            }
        }