2012-10-12 11 views
9
<telerik:RadGrid ID="radGrid" runat="server" AllowPaging="true" AllowCustomPaging="True" 
    GridLines="None" PageSize="20" AllowMultiRowSelection="true" ClientSettings-Selecting-AllowRowSelect="true" 
    AutoGenerateColumns="false" onneeddatasource="radGrid_NeedDataSource" OnItemCreated="radGrid_ItemCreated" 
    OnItemDataBound="radGrid_ItemDataBound" OnItemCommand="radGrid_ItemCommand" 
    DataKeyNames="ClientID"> 
    <mastertableview datakeynames="ID" gridlines="None" width="100%"> 
    <PagerTemplate> and so on ... </telerik:RadGrid> 

परिदृश्य: - ऊपर देखते हुए एक Telerik की मार्कअप नियंत्रण मैं उपयोग कर रहा हूँ RagGrid। मैं GridColumn, हमेशा की तरह की KeyValue पहुँचने का प्रयास किया,टेलरिक रैडग्रिड से 'कीवैल्यू' कैसे प्राप्त करें?

Int32 key = Convert.ToInt32((e.Item as GridDataItem).GetDataKeyValue("ID")); 

यह काम नहीं कर रहा। क्या कोई वैकल्पिक है?

+1

आप RadGrid पर 'DataKeyNames' प्रॉपर्टी निर्दिष्ट क्यों करते हैं? इसे हटाने का प्रयास करें और इसे केवल 'मास्टरटेबल व्यू' –

उत्तर

17

नीचे कोड स्निपेट के साथ प्रयास करें की कोशिश करो।

+0

के लिए बनाए रखें यदि उपर्युक्त कोड आपके लिए काम नहीं किया गया है तो कृपया मुझे बताएं कि आप किस कार्यक्रम में इस डेटाकी का आकलन करना चाहते हैं। –

+0

यह काम कर रहा है। समस्या कुछ और थी। – MontyPython

+0

यदि आपको समस्या मिली है, तो आप समाधान क्यों पोस्ट नहीं करते? –

3

इस

string keyValue = radGrid.MasterTableView.DataKeyValues[e.item.ItemIndex].ToString(); 
int key = Convert.ToInt32(keyValue); 
0

आप एक datakey कि यहां तक ​​कि radgrid मार्कअप में निर्दिष्ट नहीं है का उपयोग करने की कोशिश कर रहे हैं:

DataKeyNames="ClientID" 

Int32 key = Convert.ToInt32(dataItem.GetDataKeyValue("ID")); 

यह होना चाहिए:

Int32 key = Convert.ToInt32(dataItem.GetDataKeyValue("ClientID")); 
+0

यह 'क्लाइंट आईडी' क्यों होना चाहिए। यह DataKeyNames = "आईडी, नाम, शहर, आदि, आदि हो सकता है"। – MontyPython

+0

हम मास्टरटेबलव्यू डेटाकेनम्स के माध्यम से हमारे डेटा तक पहुंचते हैं और रेडग्रिड डेटाकेनम्स नहीं। – MontyPython

+0

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

2

मार्कअप में अपने डेटा कुंजी को परिभाषित करें:

< MasterTableView datakeynames="ID" dir="RTL">< /MasterTableView> 

और कोड व्यवहार में पहुंच इंड:

GridDataItem item = (GridDataItem)e.Item; 

var key = item.GetDataKeyValue("ID"); 
संबंधित मुद्दे