2009-09-29 16 views
5

में प्राथमिक कुंजी फ़ील्ड को कैसे दिखाएं मैं अंत में गतिशील डेटा (लंबे समय से लंबित) में खोद रहा हूं। मैंने देखा है कि जब मैं वेब साइट देख रहा हूं, मुख्य तालिका सूचियों पर, प्राथमिक कुंजी फ़ील्ड प्रदर्शित नहीं होता है।गतिशील डेटा - सूची

उदाहरण के लिए, मेरे पास एक सारणी है जिसमें दो फ़ील्ड के साथ स्टेटस कोड हैं।

StatusCode int identity Primary Key 
StatusCodeDescription varchar(25) 

मेरी वेबसाइट की स्थिति कोड/List.aspx पृष्ठ पर, केवल स्टेटसोडोड डिस्क्रिप्शन दिखाता है।

मुझे लगता है कि मैं नहीं संपादित प्राथमिक कुंजी है, लेकिन मैं दिखाने यह चाहते हैं कर सकते हैं। क्या यह गतिशील डेटा के साथ संभव है?

मैं खुद को कुछ कामकाज के बारे में सोच सकता हूं, और सभी ईमानदारी से, मैं खुद को खोजने के लिए प्रलेखन में आगे बढ़ सकता हूं, लेकिन मुझे उम्मीद है कि अधिक अनुभव वाला कोई व्यक्ति उत्तर को जानता है और मुझे कुछ समय बचा सकता है। उपयुक्त दस्तावेज का एक लिंक भी अच्छा होगा।

उत्तर

6

अधिकांश दिन शोध करने के बाद, मेरे पास एक और जवाब है जो शायद अधिक "सही" है। से, यह एक प्रति तालिका के आधार पर है कि मैं क्या देख सकते हैं (यानी आपका तालिका एक ही बार करना होगा)

ScaffoldColumn विशेषता का उपयोग करना:

मैं कक्षा कि स्वचालित रूप से तालिका के लिए उत्पन्न होता बढ़ाया (स्टेटस कोड) निम्नानुसार आंशिक वर्ग का उपयोग करते हुए:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.DynamicData; 
using System.ComponentModel.DataAnnotations; 

namespace ScholarshipAdmin 
{ 
    [MetadataType(typeof(StatusCodesMetaData))] 
    public partial class StatusCodes 
    { 

    } 

    public class StatusCodesMetaData 
    { 
     [ScaffoldColumn(true)] 
     public object StatusCode; 
    } 
} 
+0

क्या आप गतिशील डेटा का उपयोग बहुत करते हैं? मैंने इसे गड़बड़ कर लिया !!! यह पहली चीज थी जो मुझे करने की ज़रूरत थी! (प्राइ कुंजी दिखाएं) लोगों ने सोचा था कि जब वे इसके लिए पूछते थे तो मैं पागल था और मैं इसे प्रदर्शित नहीं कर सका –

+0

नहीं, मैं इसका बहुत उपयोग नहीं करता (अभी तक)। जब मैंने यह प्रश्न पोस्ट किया तो मैं डायनामिक डेटा का उपयोग करके अपनी पहली परियोजना पर काम कर रहा था। हालांकि, मैं इसे और अधिक उपयोग करने की योजना बना रहा हूं, जहां यह उचित है। ज्यादातर प्रशासनिक साइटों, या त्वरित और गंदे सीआरयूडी अनुप्रयोगों के लिए। यहां तक ​​कि मेरी वर्तमान परियोजना में, अधिकांश काम अधिक मानक Asp.Net रूपों का उपयोग करके किया गया था। साइट पर किए जा रहे कार्यों का केवल दसवां हिस्सा गतिशील डेटा साइट के माध्यम से किया जाएगा। शायद यही कारण है कि इसे जल्दी से बाहर निकलने की सराहना की। – David

+0

@ स्कॉट क्रैमर - अद्यतन: अब मैं कम से कम काम के लिए, अधिकांश परियोजनाओं पर गतिशील डेटा का उपयोग कर रहा हूं। नहीं, कि मैं इसे समझ रहा हूं, यह बहुत अधिक अनुकूल है, और अनुकूलित करना आसान है। – David

0

मुझे एक संभावित उत्तर मिला। यदि कोई भविष्य में उत्तर की तलाश में आता है तो मैं इसे पोस्ट करूंगा। ध्यान दें कि यह केवल तभी काम करेगा यदि सभी तालिकाओं में एक कॉलम प्राथमिक कुंजी है।

मैं इस सवाल को वहां भी रखूंगा यदि किसी और के पास एक बेहतर, सरल उत्तर है जो कई प्राथमिक कुंजी वाले टेबल के साथ काम करेगा। मैं अपने आप से किसी और का जवाब चुनना चाहता हूं।

List.aspx में, मैंने निम्नलिखित को GridView1 में जोड़ा।

<asp:TemplateField> 
    <HeaderTemplate> 
     <%# table.PrimaryKeyColumns[0].Name %> 
    </HeaderTemplate> 
    <ItemTemplate> 
     <%# DataBinder.Eval(Container.DataItem, table.PrimaryKeyColumns[0].Name) %> 
    </ItemTemplate> 
</asp:TemplateField> 
+0

एक प्राथमिक कुंजी? क्या यह प्राथमिक कुंजी की परिभाषा नहीं है? –

+1

क्षमा करें - इसे "एक प्राथमिक कुंजी" के बजाय "एक कॉलम प्राथमिक कुंजी" पढ़ने के लिए संपादित किया गया है क्योंकि प्राथमिक कुंजी में एक से अधिक कॉलम हो सकते हैं, और यही मेरा मतलब है। पूछने के लिए धन्यवाद, यद्यपि! – David

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