2012-10-25 14 views
7

मेरी खोज के परिणाम दिखाने के लिए मुझे अपने कोड में क्या जोड़ना चाहिए?डेटाग्रिडव्यू खोज: केवल खोजशब्द दिखाएं और अन्य पंक्तियों को छुपाएं?

अभी जब मैं सर्च्रेसल्ट खोजता हूं (हाइलाइट किया जाता है) और अन्य समान रहते हैं।

अन्य पंक्तियों को छिपाने की कोशिश कर रहे थे लेकिन बिना किसी सफलता के (और केवल अकेले खोज को दिखाएं)। कोई सुझाव? मैं डेटाग्रिडव्यू का उपयोग कर रहा हूं।

मेरे कोड:

private void button3_Click_1(object sender, EventArgs e) 
{ 
    string search = textBox1.Text; 

    for (int i = 0; i < dgTest.Rows.Count; i++) 
    { 
     if (dgTest.Rows[i].Cells[0].Value.ToString() == search) 
     { 
      dgTest.Rows[i].Selected = true; 
      break; 
     } 
     else 
     { 
      dgTest.Rows[i].Selected = false; 
     } 
    } 
} 

उत्तर

1

आप इस कोशिश कर सकते हैं:

for (int i = 0; i < dgTest.Rows.Count; i++) 
{ 
    if (dgTest.Rows[i].Cells[0].Value.ToString() == "search") 
    { 
     dgTest.Rows[i].Selected = true; 
     dgTest.Rows[i].Visible = true; 
    } 
    else 
    { 
     dgTest.Rows[i].Visible = false; 
     dgTest.Rows[i].Selected = false; 
    } 
} 
5

अपने DataGridView डेटा स्रोत के लिए बाध्य नहीं है, तो गलत पर पंक्ति के दर्शनीय संपत्ति की स्थापना छिपा दिया जाएगा:

for (int i = 0; i < dgTest.Rows.Count; i++) 
    { 
     var row = dgTest.Rows[i]; 

     if (row.Cells[0].Value.ToString() == search) 
     { 
      row.Selected = true; 
      row.Visible = true; 
     } 
     else 
     { 
      row.Selected = false; 
      row.Visible = false; 
     } 
    } 

(मैं 'को तोड़ने से हटाया 'कमांड, जैसा कि आपको मिलान पंक्ति मिली है, आप अन्य पंक्तियों को जारी रखना और छिपाना चाहते हैं।)

यदि आप डेटा बाइंडिंग का उपयोग कर रहे हैं, हालांकि, यह इतना आसान नहीं है, जैसा कि दिखाया गया है this page

+0

मदद के लिए धन्यवाद! मैं डाटाबेसिंग का उपयोग कर रहा हूं इसलिए दुर्भाग्य से यह कठिन हो गया। : पी – user1773766

संबंधित मुद्दे