J'ai des colonnes de grille de données prédéfinies qui se chargent lors du chargement du formulaire.Ce que je voulais, c'était lorsque je saisis l'identifiant ou le nom du produit dans la zone de texte, je voulais qu'il s'affiche dans les colonnes de la grille de données.Mais lorsque j'entre l'ID ou le nom du produit, rien ne s'affiche les colonnes J'ai essayé le code suivant:

   public Form1()
    {
        InitializeComponent();
        load();
    }
    void load()
    {
        string cc = "";
        int n;
        if (int.TryParse(textBox1.Text, out n))
        {
            cc = "product_Id = " + textBox1.Text.Trim();
        }
        else
        {
            cc = "product_Name LIKE '%" + textBox1.Text.Trim() + "%'";
        }

        if (string.IsNullOrEmpty(textBox1.Text))
        {
            cc = "1 = 1";
        }

        SqlConnection con = new SqlConnection("Data Source=SUMIT;Initial Catalog=Project;Integrated Security=True");

        SqlCommand cmd = new SqlCommand("Select product_Name as [Product Name],cast(actual_Sp as INT) * '" + textBox2.Text + " 'as [Actual SP] from Product WHERE " + cc, con); ;

    cmd.CommandType = CommandType.Text;
        SqlDataAdapter sda = new SqlDataAdapter(cmd);

        DataTable dt = new DataTable();
        sda.Fill(dt);
        dataGridView1.AutoGenerateColumns = false;
        dataGridView1.DataSource = null;
        dataGridView1.ColumnCount = 7;

        dataGridView1.Columns[0].Name = "ProductId";
        dataGridView1.Columns[0].HeaderText = "PID";
        dataGridView1.Columns[0].DataPropertyName = "product_Id";

        dataGridView1.Columns[1].HeaderText = "S.N.";
        dataGridView1.Columns[1].Name = "Serial Number";
        // dataGridView1.Columns[1].DataPropertyName = "ContactName";

        dataGridView1.Columns[2].Name = "Particulars";
        dataGridView1.Columns[2].HeaderText = "Particulars";
        dataGridView1.Columns[2].DataPropertyName = "product_Name";


        dataGridView1.Columns[3].Name = "Unit Quantity";
        dataGridView1.Columns[3].HeaderText = "Unit Quantity";
        //dataGridView1.Columns[3].DataPropertyName = "product_Name";


        dataGridView1.Columns[4].Name = "Amount";
        dataGridView1.Columns[4].HeaderText = "Amount";
        // dataGridView1.Columns[4].DataPropertyName = "product_Name";


        dataGridView1.Columns[5].Name = "Discount";
        dataGridView1.Columns[5].HeaderText = "Discount";
        //dataGridView1.Columns[5].DataPropertyName = "product_Name";


        dataGridView1.Columns[6].Name = "Sub-Total";
        dataGridView1.Columns[6].HeaderText = "Sub-Total";
        // dataGridView1.Columns[6].DataPropertyName = "product_Name";
        dataGridView1.DataSource = dt;

    }
0
Sumit Bhattarai 23 déc. 2015 à 07:50

1 réponse

Vous devez ajouter chaque colonne au DataGridView comme:

dataGridView1.Columns.Add("ProductId","PID");
dataGridView1.Columns["ProductId"].DataPropertyName="product_Id";
0
Denis Duh 23 déc. 2015 à 06:06