none
datasource et datasourceID RRS feed

  • Question

  • Bjr,

    Pourrais vous m'eclaircis sur la difference entre ces deux proprietes: DataSource et DataSourceID.jai cru comprendre aprés recherche sur le net que DataSource cest pour indiquer à un controles de donnees la source de connées qui va l'alimenter.

    Et DataSourceID ,le type de source de donnees qui lalimentera si cest du sqlserveur ou du Access etc...

    Alors dans ce cas,je vois pas linteret du DataSourceID,puisque de tte les facon le fournisseur de donnees quon cree lors de la connection  precise le type de de la source de donnees.

    Merci de m'eclaicir.


    DexbuFa


    • Modifié dexbufa lundi 6 janvier 2014 16:32
    lundi 6 janvier 2014 16:30

Réponses

  • Salut,

    Je crois que vous vous trompez sur ces 2 appellations. DataSource est l'Objet de connexion avec la source de Données, et DataSourceID est l' identifiant de ce Objet de connexion ( ce nom distingue l'Objet de façon unique dans la page).

    • Proposé comme réponse Aurel Bera mardi 7 janvier 2014 08:33
    • Marqué comme réponse Aurel Bera lundi 13 janvier 2014 06:56
    lundi 6 janvier 2014 17:59
  • Voici, un exemple pour que vous compreniez: Le composant de Connexion à la source de données est de type EntityDataSource (<asp:EntityDataSource ></EntityDataSource >) disponible dans la boîte à outils. Et comme tout composant il a besoin de nom, ce nom est l"ID": "CoursesEntityDataSource" dans l'exemple ci dessous.

    . A suivre en bas de page

    <asp:EntityDataSource ID="CoursesEntityDataSource" runat="server" 
            AutoGenerateWhereClause="True"  
            ContextTypeName="ContosoUniversity.DAL.SchoolEntities" EnableFlattening="False" 
            EntitySetName="Courses" EnableUpdate="true" EnableDelete="true" 
            ondeleted="CoursesEntityDataSource_Deleted" onupdated="CoursesEntityDataSource_Updated" 
           >
            <WhereParameters>
                <asp:ControlParameter ControlID="DepartmentsDropDownList" Name="DepartmentID" 
                    PropertyName="SelectedValue" Type="Int32" />
            </WhereParameters>
        </asp:EntityDataSource>
    J'utilise une GridView qui sera alimenté par une DataSource (exemple EntityDataSource) . la propriété de ma Gridview qui contiendra l'identifiant de cette DataSource sera la DataSourceID de ma GridView comme suit.
     <asp:GridView ID="CoursesGridView" runat="server" AutoGenerateColumns="False" 
            DataKeyNames="CourseID,Title,Credits,DepartmentID" DataSourceID="CoursesEntityDataSource">
            <Columns>
                <asp:CommandField ShowEditButton="true" ShowDeleteButton="true"  />
                <asp:BoundField DataField="CourseID" HeaderText="CourseID" ReadOnly="True"
                    SortExpression="CourseID" />
                <asp:BoundField DataField="Title" HeaderText="Cours" SortExpression="Title" />
                <asp:BoundField DataField="Credits" HeaderText="Credits"
                    SortExpression="Credits" />
            </Columns>
        </asp:GridView>

    mardi 7 janvier 2014 12:24

Toutes les réponses

  • Salut,

    Je crois que vous vous trompez sur ces 2 appellations. DataSource est l'Objet de connexion avec la source de Données, et DataSourceID est l' identifiant de ce Objet de connexion ( ce nom distingue l'Objet de façon unique dans la page).

    • Proposé comme réponse Aurel Bera mardi 7 janvier 2014 08:33
    • Marqué comme réponse Aurel Bera lundi 13 janvier 2014 06:56
    lundi 6 janvier 2014 17:59
  • Bjr,

    Alexandre le grand,pouvez vous me donnez un exemple pour le DataSourceID dans quel cas on l'utilise?

    Merci


    DexbuFa

    mardi 7 janvier 2014 09:28
  • Voici, un exemple pour que vous compreniez: Le composant de Connexion à la source de données est de type EntityDataSource (<asp:EntityDataSource ></EntityDataSource >) disponible dans la boîte à outils. Et comme tout composant il a besoin de nom, ce nom est l"ID": "CoursesEntityDataSource" dans l'exemple ci dessous.

    . A suivre en bas de page

    <asp:EntityDataSource ID="CoursesEntityDataSource" runat="server" 
            AutoGenerateWhereClause="True"  
            ContextTypeName="ContosoUniversity.DAL.SchoolEntities" EnableFlattening="False" 
            EntitySetName="Courses" EnableUpdate="true" EnableDelete="true" 
            ondeleted="CoursesEntityDataSource_Deleted" onupdated="CoursesEntityDataSource_Updated" 
           >
            <WhereParameters>
                <asp:ControlParameter ControlID="DepartmentsDropDownList" Name="DepartmentID" 
                    PropertyName="SelectedValue" Type="Int32" />
            </WhereParameters>
        </asp:EntityDataSource>
    J'utilise une GridView qui sera alimenté par une DataSource (exemple EntityDataSource) . la propriété de ma Gridview qui contiendra l'identifiant de cette DataSource sera la DataSourceID de ma GridView comme suit.
     <asp:GridView ID="CoursesGridView" runat="server" AutoGenerateColumns="False" 
            DataKeyNames="CourseID,Title,Credits,DepartmentID" DataSourceID="CoursesEntityDataSource">
            <Columns>
                <asp:CommandField ShowEditButton="true" ShowDeleteButton="true"  />
                <asp:BoundField DataField="CourseID" HeaderText="CourseID" ReadOnly="True"
                    SortExpression="CourseID" />
                <asp:BoundField DataField="Title" HeaderText="Cours" SortExpression="Title" />
                <asp:BoundField DataField="Credits" HeaderText="Credits"
                    SortExpression="Credits" />
            </Columns>
        </asp:GridView>

    mardi 7 janvier 2014 12:24
  • Merci pour lexemple,

    Donc DataSourceID=ID du controle source de donnees.Mais,si on connaissait pas l'ID du controle data source:par exemple si on disposait dune methode GetdataSet() qui retournait un dataset et qui etait la source de donnees dun controle lie aux donnees Gridview,o ferait:

    GridView.DataSource=GetdataSet() 

    GridView.DataMember="Un DataTable du DataSet"

    GridView.Databind()   //faire la liaison.

    Oubien?


    DexbuFa


    • Modifié dexbufa mardi 7 janvier 2014 14:39
    mardi 7 janvier 2014 13:03
  • Ici dans l'exemple comme vous l'avez constaté :DataSourceID=ID du controle source de donnees.

    Il n'est plus besoin de signifier une DataSource, une DataTable ou encore une DataBind(). L'objet EntityDataSource se charge de tous ça à partir du moment qu'il est signifié dans le contrôle Source de Données que DataSourceID=ID du controle source de donnees. Je crois que vous devriez exécuter le Tutoriel Contoso University pour mieux maitriser.

    mercredi 8 janvier 2014 12:45
  • Daccord,je ferai ce tuto parce que là cest loin detre clair.Merci d'avoir essayé de meclaicir !

    DexbuFa

    mercredi 8 janvier 2014 12:57
  • N'oubliez pas de marquer comme réponse la première réponse, elle pourra aider d'autres personnes à l'avenir.

    jeudi 9 janvier 2014 15:02