none
dataGridView 搜尋功能 RRS feed

  • 一般討論

  • 我想做搜尋功能,目前程式碼如下

            private void button1_Click(object sender, EventArgs e)
            {
                SelectModle = false;
                var SelectRows = dataGridView1.Rows.Cast<DataGridViewRow>().Where(
                    r => r.Cells["Item"].Value.ToString().Contains(TextBox1.Text)
                    || r.Cells["Color"].Value.ToString().Contains(TextBox1.Text)
                    ).FirstOrDefault();
                if (SelectRows == null)
                    MessageBox.Show(TextBox1.Text + "找不到!");
                else
                {
                    dataGridView1.CurrentCell = SelectRows.Cells[0];
                    dataGridView1.CurrentRow.Selected = true;
                }
            }

    我現在可以搜尋沒錯,可是我不能繼續搜尋下一筆是否有相同的,請問該如何改才好?

    2016年4月11日 上午 09:47

所有回覆

  • 把FirstOrDefault改成ToList, 得到的SelectRow就是所有符合條件的記錄
    2016年4月12日 上午 02:03
  • 可是改成ToList之後會出現錯誤
    • 已編輯 小礿 2016年4月12日 上午 05:42
    2016年4月12日 上午 05:42
  • var SelectRows = dataGridView1.Rows.Cast<DataGridViewRow>().Where(
    	r => r.Cells["Item"].Value.ToString().Contains(TextBox1.Text)
    		 || r.Cells["Color"].Value.ToString().Contains(TextBox1.Text)
    	);
    
    if (!SelectRows.Any())
    	MessageBox.Show(textBox59.Text + "找不到!");
    else
    {
    	foreach (var row in SelectRows)
    	{
    		
    	}
    	 
       
    }


    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/


    • 已編輯 亂馬客 2016年4月13日 上午 09:25
    2016年4月12日 上午 10:53
  • 什麼錯誤?
    2016年4月13日 上午 02:13
  • 可是改成ToList之後會出現錯誤

    你應該先學學怎麼發問, 上面這種問法是去廟裡問卜的方式. 有出現錯誤, 就應該把錯誤訊息貼出來.

    "要學打人, 先學挨打". 如果把發問的技巧學好, 解問題的功力就會增加.


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2016年4月13日 上午 02:48
    版主