2009-10-19 13 views
14

मुझे यकीन है कि मैंने पहले यह किया है लेकिन वास्तव में याद नहीं किया जा सकता है।ListView ItemDataBound से डेटा वैल्यू प्राप्त करें

ListView की ItemDataBound घटना में मुझे वास्तविक डेटा मान प्राप्त करने की आवश्यकता है। मैं नहीं कर सकते ListViewItemEventArgs वस्तु में पारित हो जाता है कि में मिल रहे हैं।

धन्यवाद

उत्तर

-2
<asp:ListView ID="ContactsListView" 
     DataSourceID="ContactsDataSource" 
     ConvertEmptyStringToNull="true"   
     OnItemDataBound="ContactsListView_ItemDataBound" 
     runat="server"> 
     <LayoutTemplate> 
      <table cellpadding="2" width="680px" border="0"> 
      <tr style="background-color: #ADD8E6" runat="server"> 
       <th runat="server">First Name</th> 
       <th runat="server">Last Name</th> 
       <th runat="server">E-mail Address</th> 
      </tr> 
      <tr runat="server" id="itemPlaceholder" /> 
      </table> 
      <asp:DataPager runat="server" ID="PeopleDataPager" PageSize="12"> 
      <Fields> 
       <asp:NumericPagerField ButtonCount="10" /> 
      </Fields> 
      </asp:DataPager> 
     </LayoutTemplate> 
     <ItemTemplate> 
      <tr style="background-color: #CAEEFF" runat="server"> 
      <td> 
       <asp:Label ID="FirstNameLabel" runat="server" Text='<%#Eval("FirstName") %>' /> 
      </td> 
      <td> 
       <asp:Label ID="LastNameLabel" runat="server" Text='<%#Eval("LastName") %>' /> 
      </td> 
      <td> 
       <asp:Label ID="EmailAddressLabel" runat="server" Text='<%#Eval("EmailAddress") %>' /> 
      </td> 
      </tr> 
     </ItemTemplate> 
     </asp:ListView> 

सर्वर साइड

protected void ContactsListView_ItemDataBound(object sender, ListViewItemEventArgs e) 
     { 
     if (e.Item.ItemType == ListViewItemType.DataItem) 
     { 
      // Display the e-mail address in italics. 
      Label EmailAddressLabel = (Label)e.Item.FindControl("EmailAddressLabel"); 
      // EmailAddressLabel.Font.Italic = true; 
      string valueoftheControl = EmailAddressLabel.Text; 
      /* you have to get the value like this. 
      If its a dropdown or any other use their 
      corresponding property to get the value.*/ 
     } 
     } 
+0

Is not कि सिर्फ एक लेबल इटैलिक के लिए सेटिंग? मुझे बाध्य होने वाले आइटम के वास्तविक डेटा मूल्य पर पहुंचने की आवश्यकता है। – Gavin

+0

क्या वास्तव में डेटा मान तक पहुंचने का कोई तरीका नहीं है। मैं सिर्फ एक लेबल से एक स्ट्रिंग प्राप्त नहीं करना चाहता हूं। मुझे पता है कि जब मैं डेटालिस्ट का उपयोग करता था तो आप घटना में पारित वस्तु से डेटलिस्ट में वास्तव में मूल्य प्राप्त कर सकते थे। – Gavin

15

ItemDataBound ईवेंट में उपयोग करें:

protected void yourListView_ItemDataBound(object sender, ListViewItemEventArgs e) 
{ 
    ListViewDataItem dataItem = (ListViewDataItem)e.Item; 

    if (e.Item.ItemType == ListViewItemType.DataItem) 
    { 
     YourDataSource yourDataSource= (YourDataSource)dataItem.DataItem;    

    } 

} 
3
protected void Score_ItemDataBound(object sender, Telerik.Web.UI.RadListViewItemEventArgs e) 
{ 
    if (e.Item is RadListViewItem) 
    { 
     RadListViewDataItem item = e.Item as RadListViewDataItem; 
     object dataItem = ((System.Data.DataRowView)(((RadListViewDataItem)e.Item).DataItem)).Row.ItemArray[2].ToString(); 
     string raetest = Convert.ToString(dataItem); 
    } 
} 
संबंधित मुद्दे