PDA

View Full Version : سوال: خصیصه DataSource در کنترل های Databound



Mohandes2009
پنج شنبه 07 بهمن 1389, 21:48 عصر
در ویندوز و در کنترل گرید ویو یه چیزی داشتیم به اسم Datasource که کل گرید را پر می کردیم
در ASP در کنترل های دیتا این عمل چیه؟چه متغییری هست که ما انجام بدیم!!:متفکر:

Mohandes2009
پنج شنبه 07 بهمن 1389, 22:11 عصر
در وب از کنترل sqldatasourceاستفاده میشه که توسط اون میتونی دیتا گریدرو پرکنی

نه نه دوست عزیز تو کد نویسی می خوام پر بکنم

مثلا تو ویندوز مینوشتیم:


datagrid.DataSource = k;

k در اینجا یک رکورد از دیتا بیسه که با کوئری خارج کردیم

خانم گل
پنج شنبه 07 بهمن 1389, 22:13 عصر
توی asp هم از datasource استفاده میشه فقط باید بعد از نسبت دادن datasource به کنترلتون اون رو bind کنید. البته واسه گریدویو امتحان نکردم ولی باید جواب بده

ListView1.DatasourceID="yourDataSource"
ListView1.DataBind();

Mostafa_Dindar
پنج شنبه 07 بهمن 1389, 22:20 عصر
در ویندوز و در کنترل گرید ویو یه چیزی داشتیم به اسم Datasource که کل گرید را پر می کردیم
در ASP در کنترل های دیتا این عمل چیه؟چه متغییری هست که ما انجام بدیم!!:متفکر:

سلام ،

آن چیز Property است و در ASP.NET نیز تمامی کنترل های Databound این Property را دارند .DataBound كنترل ها را ميتوان به سه قسمت عمده تقسيم كرد که GridView به قسمت دوم تعلق دارد .
ListControles
Tabular Databound controls
hierachical databound control

شما میتوانید از پراپرتی Datasource استفاده کنید و انواع داده را به این کنترلها bind کنید . در صورتی که میخواهید به کنترلهای DataSource بایند کنید باید نام کنترل DataSource را به پراپرتی DatasourceID از databound کنترل نسبت دهید .

سربلند باشید

Mohandes2009
پنج شنبه 07 بهمن 1389, 22:47 عصر
دوستان من اینجور چیزی نوشتم تو کد هام



var k = from c in b.TInfoStuds
select new { c.Name,c.Famil,c.Tel,c.Addrwss};
DataList1.DataSource = k;
DataList1.DataBind();

البته بصورت یه تابع

بعد از عملیات حذف این تابع را صدا میزنم

ولی الان این ارور را میده :

Both DataSource and DataSourceID are defined on 'DataList1'. Remove one definition.

میشه بگید واسه چیه؟

Mostafa_Dindar
پنج شنبه 07 بهمن 1389, 23:03 عصر
دوستان من اینجور چیزی نوشتم تو کد هام

Both DataSource and DataSourceID are defined on 'DataList1'. Remove one definition.

میشه بگید واسه چیه؟

در پست قبلی که عرض کردم خدمتتان ! , در صورتی که از کنترلهای Datasource یعنی ObjcetDataSource , SqlDataSource , LinqDataSource , XmlDataSource استفاده کنید میتونید از پراپرتی DataSourceID استفاده کنید .
در حال حاضر شما هم مقدار خرجی متد را به پراپرتی DataSource نسبت داده اید و هم پراپرتی DataSourceID کنترل DataList در صفحه aspx را مقدار دهی کرده اید که لازم نیست .

مقدار پراپرتی DataSourceID از کنترل DataList را حذف کنید .

موفق باشید

Mohandes2009
پنج شنبه 07 بهمن 1389, 23:21 عصر
در پست قبلی که عرض کردم خدمتتان ! , در صورتی که از کنترلهای Datasource یعنی ObjcetDataSource , SqlDataSource , LinqDataSource , XmlDataSource استفاده کنید میتونید از پراپرتی DataSourceID استفاده کنید .
در حال حاضر شما هم مقدار خرجی متد را به پراپرتی DataSource نسبت داده اید و هم پراپرتی DataSourceID کنترل DataList در صفحه aspx را مقدار دهی کرده اید که لازم نیست .

مقدار پراپرتی DataSourceID از کنترل DataList را حذف کنید .

موفق باشید
پوزش این همه سوال ابتدایی میکنم

حذف کردم کنترل SqlDataSource را ولی با کد نویسی به اون ترتیبی که گفتم Datalist را وصل بانک کردم ولی هیچی نشون نمیده چرا؟:ناراحت:

Mostafa_Dindar
جمعه 08 بهمن 1389, 13:01 عصر
پوزش این همه سوال ابتدایی میکنم

حذف کردم کنترل SqlDataSource را ولی با کد نویسی به اون ترتیبی که گفتم Datalist را وصل بانک کردم ولی هیچی نشون نمیده چرا؟:ناراحت:

خواهش میکنم ،

به احتمال زیاد شما ItemTemplate را برای کنترل DataList ست نکرده اید . کنترل دیتالیست بر خلاف GridView نیازمند این هست که دارای ItemTemplate باشد . به عنوان نمونه :


<asp:DataList id="ItemsList"
BorderColor="black"
CellPadding="5"
CellSpacing="5"
RepeatDirection="Vertical"
RepeatLayout="Table"
RepeatColumns="0"
ShowBorder="False"
runat="server">

<HeaderStyle BackColor="#aaaadd">
</HeaderStyle>

<AlternatingItemStyle BackColor="Gainsboro">
</AlternatingItemStyle>

<HeaderTemplate>

List of items

</HeaderTemplate>

<ItemTemplate>

Description: <br>
<%# DataBinder.Eval(Container.DataItem, "StringValue") %>

<br>

Price: <%# DataBinder.Eval(Container.DataItem, "CurrencyValue", "{0:c}") %>

<br>

<asp:Image id="ProductImage"
ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageValue") %>'
runat="server"/>

</ItemTemplate>

</asp:DataList>


برای اطلاعات بیشتر جستجو بفرمائید .

موفق باشید