c#獲取DataTable某一列不重復的值,或者獲取某一列的所有值


   實現該功能是用了DataView的篩選功能,DataView表示用於排序、篩選、搜索、編輯和導航的 DataTable 的可綁定數據的自定義視圖。 這里做了一個簡單易懂的Demo來講述該方法。

 

1.建兩張表

2.讀數據庫數據到dt顯示到dataGridView

3.用DataView選擇表dt中數據並返回表dtTemporary

4.運行效果

 
namespace UbdTest
{
    public partial class Demo : Form
    {
        DataTable dt = new DataTable();//數據源
        DataTable dtTemporary = new DataTable();//接收返回的所需數據


        public Demo()
        {
            InitializeComponent();
        }

        private void Demo_Load(object sender, EventArgs e)
        {
            GetData();//調用獲取數據方法獲得數據
        }
        /// <summary>
        /// 從數據庫獲取數據方法
        /// </summary>
        private void GetData()
        {
         

            //建立數據庫鏈接
            string sqlconString = "Data Source=(local);Initial Catalog=Demo;User ID=sa;Password=sa";//創建連接字符串sqlconString
            SqlConnection objcon = new SqlConnection(sqlconString);//創建sql數據連接對象objcon
            objcon.Open();//打開數據庫鏈接

            //創建一個DataAdapter對象,它表示數據庫和DataSet對象之間的鏈接
            SqlDataAdapter dataAdapter = new SqlDataAdapter("Select*From 工作表", objcon);

            //創建DataSet對象的一個實例,為整個DataSet提供一個名稱,然后才能開始加載數據
            DataSet ds = new DataSet("Demo");//test為數據來源數據庫

            //用SqlDataAdapter類提供的Fill方法向DataSet加載數據
            dataAdapter.Fill(ds, "工作表");

            dt = ds.Tables[0];
        }

        private void button1_Click(object sender, EventArgs e)
        {
            dataGridView1.DataSource = dt;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            DataView dataview = dt.DefaultView;
            dtTemporary = dataview.ToTable(true,"日期");

            dataGridView2.DataSource = dtTemporary;
        }

        private void button3_Click(object sender, EventArgs e)
        {
            DataView dataview = dt.DefaultView;
            dtTemporary = dataview.ToTable(true, "工作內容");

            dataGridView3.DataSource = dtTemporary;
        }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM