PDA

View Full Version : نمایش 2 ستون در رپیتر



peymannaji
دوشنبه 25 شهریور 1387, 22:34 عصر
با سلام .
البته قبلش بگم سرچ کردم اما مشکلم حل نشد . بنده میخوام اطلاعات رو برای اینکه از طولانی شدن صفحه جلوگیری بشه در 2 ستون نمایش بدم اما یک مشکلی که برخورد کردم اینه که در هر سطر بجای اینکه اطلاعات 2 ستون متفاوت باشه ، یکسان هست . مشکل کد زیر چی هست ؟

با تشکر




<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">

<HeaderTemplate>
<table border="1" width="28%">
</HeaderTemplate>

<ItemTemplate>

<tr>

<td><%#Eval("CategoryName")%></td>
<td><%#Eval("CategoryName")%></td>

</tr>

</ItemTemplate>

<FooterTemplate>
</table>
</FooterTemplate>

</asp:Repeater>

eyes_shut_number1
سه شنبه 26 شهریور 1387, 08:07 صبح
با این کد در خط اول 100 کارکتر اول و در خط دوم 100 کارکتر دوم میاد


<td><%#Eval("CategoryName").rightpad.substring(0,100)%></td>
<td><%#Eval("CategoryName").rightpad.substring(100,200)%></td>

peymannaji
سه شنبه 26 شهریور 1387, 12:56 عصر
با سلام .
از راهنماییتون ممنون . اما فکر کنم منظورم رو واضح مطرح نکردم ...
ببینید دیدید در دیتا لیست شما میتوانید رکورد ها رو در چندید ستون نمایش بدید مثل گالری عکس ؟ در واقع بنده در Repeater‌چنین چیزی رو میخوام .

با تشکر

peymannaji
چهارشنبه 27 شهریور 1387, 12:34 عصر
دوستان منتظر راهنماییتون هستم . حتی یک مثال هم کفایت میکنه ...
با تشکر

peymannaji
جمعه 29 شهریور 1387, 21:24 عصر
اساتید محترم کمک بفرمائید ... واقعا نیاز دارم و از نظر زمانی زمان کمی دارم ....
با تشکر

Chabok
شنبه 30 شهریور 1387, 12:34 عصر
با دیتالیست میتونید مشکلتون رو حل کنید :


برای این کار از این سه ویژگی استفاده کنید .
RepeatColumns
RepeatDirection
RepeatLayout

http://barnamenevis.org/forum/showpost.php?p=539551&postcount=3

peymannaji
شنبه 30 شهریور 1387, 15:21 عصر
با سلام .
در مورد دیتا لیست بنده واقف به این امر هستم . اما من این مورد رو با رپیتر میخواستم بدونم ... واقعیتش کمی شک کردم به اینکه اصولا رپیتر همچین خواصیتی داره یا فقط همه چیز رو در یک ردیف نشون میده ؟

Chabok
شنبه 30 شهریور 1387, 15:49 عصر
همه چیز رو در یک ردیف نشون نمیده . بلکه برای همه دیتاها فقط میتونه یک قالب رو پیاده سازی کنه .
ریپیتر چنین چیزی رو بصورت آماده مهیا نخواهد کرد .

شما اگر با دیتالیست هم مشکل دارید میتونید خودتون تگ ها رو تولید کنید .
و به ازای هر سه ستون (مثلا) یک سطر جدید ایجاد کنید .
بدون استفاده از ریپیتر به سادگی مشکل شما حل خواهد شد . دلیلتون برای سخت کردن کار چیه ؟

mp2009
شنبه 30 شهریور 1387, 16:15 عصر
دوست عزیز منم این مشکل رو داشتم .
اینم راه حل برای مشکل شما :


<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">

<HeaderTemplate>
<table border="1" width="28%">
</HeaderTemplate>
<AlternatingItemTemplate>

<tr>

<td><%#Eval("CategoryName")%></td>
<td><%#Eval("CategoryName")%></td>

</tr>
</AlternatingItemTemplate>

<ItemTemplate>

<tr>

<td><%#Eval("CategoryName")%></td>
<td><%#Eval("CategoryName")%></td>

</tr>

</ItemTemplate>

<FooterTemplate>
</table>
</FooterTemplate>

</asp:Repeater>



کد هایی که گزاشتم رو دقیقا کپی کن و نتیجه رو بگو

peymannaji
شنبه 30 شهریور 1387, 18:43 عصر
بدون استفاده از ریپیتر به سادگی مشکل شما حل خواهد شد . دلیلتون برای سخت کردن کار چیه ؟

ممنون دوست عزیز ... دلیل بنده این بود یک قسمت از app رو میخواستم به این شکل طراحی کنم که صرفا" آشنایی با قابلیت این کنترل بود ... به هر حال فکر میکنم کمتر کسی این کار رو انجام داده و یا اصلا نداده .... فکر کنم منطقی ترین راه همین دیتا لیست باشه .... در ضمن کد های پست قبلی هم کار نکرد ...


با تشکر از همگی ...

sahele_sheni
یک شنبه 21 مهر 1387, 16:14 عصر
با این کد در خط اول 100 کارکتر اول و در خط دوم 100 کارکتر دوم میاد


<td><%#Eval("CategoryName").rightpad.substring(0,100)%></td>
<td><%#Eval("CategoryName").rightpad.substring(100,200)%></td>



شکل درست این کد به صورت پایینه !


<%#Eval("CategoryName").ToString().Substring(0, 100)%>

حلا مشکلی که من دارم اینه که وقتی 100 کارکتر رو قرار میدم جایی که جمله تموم میشه مثلا وسط کلمه است ....
میتونم کدی داشته باشم که این مشکل رو برطرف کنه یا فرضا 2 خط برام بنویسه ؟