0 امتیاز
سلام دوستان وقت بخیر

من به کمبوباکس دارم که به یکی از ستون های دیتاگرید ویو متصلش کردم حالا میخواهم که اطلاعات تکراری مثلا دو تا اسم مشابه رو تو لیست کمبوباکسم نشون نده و فقط یکی رو نمایش بده ؟

3 پاسخ

+1 امتیاز

سلام دوست عزیز

قبلا پاسخ داده شده

http://www.w3-farsi.com/forum/index.php/8119/%D8%A7%D9%86%D8%AA%D9%82%D8%A7%D9%84-%D8%AF%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%DA%A9%D9%85%D8%A8%D9%88%D8%A8%D8%A7%DA%A9%D8%B3-%D8%A8%D9%87-%D8%AA%DA%A9%D8%B3%D8%AA-%D8%A8%D8%A7%DA%A9%D8%B3-%D8%AF%D8%B1-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Data.OleDb;
using System.Text;
using System.Windows.Forms;
 
namespace w3_farsi_combo
{
    public partial class Form1 : Form
    {
        private static string conection1 = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+Application.StartupPath+@"\dbtest.accdb";
        public Form1()
        {
            InitializeComponent();
            
           
        }
        OleDbConnection myConn = new OleDbConnection(conection1);
        DataTable dt = new DataTable();
        OleDbConnection cnn = new OleDbConnection(conection1);
        private void Form1_Load(object sender, EventArgs e)
        {
            //cnn.Open();
            //string query = "SELECT car FROM tbltest";     
            //OleDbCommand cmd = new OleDbCommand(query, cnn);
            //OleDbDataReader reader = cmd.ExecuteReader();
 
            //while (reader.Read())   
            //{
            //    comboBox1.Items.Add(reader["car"].ToString());
 
            //}
 
            //cnn.Close();
 
            //comboBox1.SelectedIndex = 0;
 
            DataTable table = new DataTable();
          
            string sql = "Select car from tbltest";
            try
            {
                cnn.Open();
                 
                OleDbDataAdapter da = new OleDbDataAdapter(sql, cnn);
               
                da.Fill(table);
               
                table.Rows.Add("Select tbltest");
               
                comboBox1.DataSource = table;
           
                comboBox1.DisplayMember = "car";
                comboBox1.ValueMember = "car";
                
 
                comboBox1.SelectedValue = "Select car";
               comboBox1.SelectedIndex = 0;
            }
            catch (Exception ex)
            {
                
                MessageBox.Show(ex.ToString());
            }
            timer1.Start();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            
            if (textBox1.Text.Trim() == string.Empty)
            {
                return;
            }
 
            else
            {
                OleDbConnection cnn = new OleDbConnection(conection1);
 
                OleDbCommand cmm = new OleDbCommand("select * from tbltest where ID=@id", cnn);
               
                cmm.CommandType = CommandType.Text;
                cmm.Parameters.AddWithValue("@id", textBox1.Text);
                cnn.Open();
                OleDbDataReader rdr = cmm.ExecuteReader();
                if (rdr.Read())
                {
 
                    textBox2.Text = rdr["saal"].ToString();
                    
                   // comboBox1.Text = rdr["car"].ToString();
                }
                
              
                cnn.Close();
            }
        }
 
       
 
        private void timer1_Tick(object sender, EventArgs e)
        {
            if (comboBox1.SelectedIndex == 0)
            {
                textBox1.Text = "0";
            }
            if (comboBox1.SelectedIndex == 1)
            {
                textBox1.Text = "1";
            }
            if (comboBox1.SelectedIndex == 2)
            {
                textBox1.Text = "2";
            }
            if (comboBox1.SelectedIndex == 3)
            {
                textBox1.Text = "3";
            }
            if (comboBox1.SelectedIndex == 4)
            {
                textBox1.Text = "4";
            }
        }
    }
 
        
     
}

 

ممنون دوست عزیز از اینکه جوابگو بودین .شاید من نتونستم منظورم درست انتقال بدم من میخوام از ورود اطلاعات تکراری به داخل کمبوباکسی که به یک ستون گریدویو متصل هستش جلوگیری بکنه مثلا یک ستون دارم که نام خانوادگی افراد رو نشون میده میخواهم حالا اگه نام خانوادگی تکراری تو دیتاگردیو ثبت شده باشه وقتی کمبوباکسم رو به این ستون متصل میکنم همه نام خانوادگی ها رو کمبوباکس نشون میده اعم از تکراری و غیره من میخواهم تکراری ها رو فقط یک بار نشون بده نه همشون رو
توسط (113 امتیاز) 3
+2 امتیاز

در دستور SQL  برای فراخوانی اطلاعات از عبارت DISINCT  استفاده کنید :

Select Distinct ColName from Table 

این دستور باعث میشه مقادیر تکراری فقط یکبار انتخاب و نمایش داده بشه

0 امتیاز

اینم میشه

if (!comboBox.Items.Contains(entry))
    comboBox.Items.Add(entry);

 

سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,924 کاربر

دسته بندی ها

...