Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Programming and More

Δεν μου αρέσει να κλέβω τις ιδέες των άλλων, αλλά λατρεύω να με βοηθούν και και να βοηθάω.

μικρές προσθήκες σε έτοιμα web controls

Πολύ συχνα χρειαζόμαστε ένα web control με συγκεκριμές ιδιότητες ή λειτουργίες σε πολλές web forms ή και σε πολλά projects. Για παράδειγμα έχουμε ένα dropdownlist το οποίο διαβάζει τα δεδομένα από τη βάση. Θέλουμε να υπάρχει μια πρώτη επιλογή του τύπου please select με τιμή 0.

η πρώτη δυνατότητα είναι σε κάθε σελίδα να προσθέτουμε το item αυτό αφού κάνουμε το databound π.χ

Sub Page_Load(sender as Object, e as EventArgs)
 If (Not Page.IsPostBack)  then
      .......
      myDropDown.datasource = dbSource
      myDropDown.databound
      myDropDown.items.insert(0,new listItem("please select",0))
      ....
   end if
end sub

και στη σελίδα μας απλά να έχουμε to dropdown

<form runat="server">
   <asp:dropdownlist id="myDropDown" runat="server" DataTextField="....." DataValueField="....." />
</form>

η δεύτερη δυνατότητα είναι να φτιάξουμε ένα δικό μας dropdownlist control το οποίο θα κληρονομεί όλα τα properties,methods,events του dropdownlist αλλά θα προσθέτει το item μόνο του αφού γίνει το databind. Θα έχει δηλαδή το δικό του DataBound event handler

στο αρχείο λοιπόν /app_code/mycontrols.vb δηλώνουμε την κλάση μας
Imports Microsoft.VisualBasic
Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.ComponentModel

Namespace myControls
   Public Class selectDropDown
        Inherits DropDownList

        Public Sub addSelect(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.DataBound
            If Me.Items.Count > 0 Then
                Me.Items.Insert(0, New ListItem("select", 0))
                Me.Enabled = True
            Else
                Me.Items.Insert(0, New ListItem("no items", 0))
                Me.Enabled = False
            End If
        End Sub
    End Class
end Namespace

στο web.config δηλώνουμε που βρίσκεται το namespace: (το γεγονός ότι βάλαμε την κλάση μας στο /app_code μας γλιτώνει από πολλούς μπελάδες)
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
   <system.web>
      <pages >
         <controls>
            <add tagPrefix="custom" namespace="myControls" />
         </controls>
      </pages>
   </system.web>
</configuration>

και στη σελίδα μας απλά προσθέτουμε το control μας:
<form runat="server>
   <custom:selectDropDown ID="
myDropDown"  DataSourceID="..." DataTextField="..." DataValueField="..." runat="server" />
</form>

Έχουν δημοσιευτεί Παρασκευή, 9 Ιουνίου 2006 6:47 μμ από το μέλος agmarios
Δημοσίευση στην κατηγορία:

Ενημέρωση για Σχόλια

Αν θα θέλατε να λαμβάνετε ένα e-mail όταν γίνονται ανανεώσεις στο περιεχόμενο αυτής της δημοσίευσης, παρακαλούμε γίνετε συνδρομητής εδώ

Παραμείνετε ενήμεροι στα τελευταία σχόλια με την χρήση του αγαπημένου σας RSS Aggregator και συνδρομή στη Τροφοδοσία RSS με σχόλια

Σχόλια:

Χωρίς Σχόλια

Ποιά είναι η άποψή σας για την παραπάνω δημοσίευση;

(απαιτούμενο)
(προαιρετικό)
(απαιτούμενο)
ÅéóÜãåôå ôïí êùäéêü:
CAPTCHA Image
Καταχώρηση
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems