2010-03-27 17 views
6

मैं सी # एप्लिकेशन पर काम कर रहा हूं जो एक छोटे से खोज इंजन की तरह है। उपयोगकर्ता एक शब्द दर्ज करेगा और कार्यक्रम उन फ़ाइलों को वापस करेगा जो इस शब्द को शामिल करते हैं।डेटाग्रिड व्यू में हाइपरलिंक्स

मेरे पास फ़ाइल पथ (स्ट्रिंग्स के रूप में) की एक सरणी है और मैं इन पथों को DataGridView में लिंक के रूप में दिखाना चाहता हूं, ताकि जब उपयोगकर्ता फ़ाइल नाम पर क्लिक करेगा तो फ़ाइल खोली जाएगी।

नोट: मैं पर सी # Winforms काम कर रहा हूँ, नहीं ASP.net

+0

मैं Winforms में 'ग्रिड व्यू' से अवगत नहीं हूं। क्या आपको शायद 'डेटाग्रिड व्यू' का मतलब है? –

+0

हाँ मेरा मतलब है डाटाग्रिडव्यू क्षमा करें मैं यह उल्लेख करना भूल गया कि – Hany

उत्तर

3

DataGridViewLinkColumn होनहार लग रहा है।

+0

प्रश्न में यह अच्छा है। .NET 2.0 और बेहतर के साथ काम करता है। –

4

का वर्णन पर MSDN documentation मुझे लगता है कि मुझे लगता है मैं अब DataGridView करने के लिए एक DataGridViewLinkColumn जोड़ा मेरे सवाल का जवाब अगले कदम DataGridView में डाटा भर जाएगा है और फ़ाइल नाम लिंक की तरह दिखाई देंगे:

private void button1_Click(object sender, EventArgs e) 
    { 
     string[] SS = new string[3]; 
     SS[0] = "C:\\test1.txt"; 
     SS[1] = "C:\\test2.txt"; 
     for (int i = 0; i < SS.Length; i++) 
     { 
      dataGridView1.Rows.Add(SS[i]); 
     } 
     dataGridView1.Refresh(); 
    } 

अंतिम चरण: अब मैं जब उपयोगकर्ता इसे मैं "CellContentClick" घटना का उपयोग करेगा क्लिक करें फ़ाइल खोलने के लिए चाहते हैं और इस कोड को इसे प्राप्त होगा:

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) 
    { 
     string filepath= (string)dataGridView1.Rows[e.RowIndex].Cells[0].Value; 
     System.Diagnostics.Process.Start(filepath); 
    } 
0

लिंक गतिशील रूप से aspx से जोड़ा जा सकता है

<asp:TemplateColumn> 
<HeaderTemplate> 
<a>Eamil Address</a> 
</HeaderTemplate> 
<ItemTemplate> 
    <asp:HyperLink id="HyperLink1" 
     Text='<%# DataBinder.Eval(Container.DataItem, "Professor_email") %>' 
     NavigateUrl='mailto:<%# DataBinder.Eval(Container.DataItem, "Professor_email") %>' 
     runat="server"/> 
</ItemTemplate> 
<EditItemTemplate> 
    <asp:TextBox 
     Text='<%# DataBinder.Eval(Container.DataItem, "Professor_email") %>' 
     runat="server"/> 
     </EditItemTemplate> 
</asp:TemplateColumn>` 
+1

ओपी स्पष्ट रूप से कहता है कि वे एएसपीनेट में काम नहीं कर रहे हैं –

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