PDA

View Full Version : آموزش: ساخت GridView در سمت کد



fakhravari
سه شنبه 21 شهریور 1391, 19:58 عصر
با سلام
چطوری میتوانم این گرید در سمت کد درست کنم.
خود گرید مشکلی نداره بیشتر قسمت های TemplateField و HeaderTemplate
<asp:GridView ID="GridView" runat="server" AutoGenerateColumns="false" CssClass="Grid_GridBudy">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<div class="Grid_SH_Grid">
<div class="Grid_SHGridContent" style="width: 80px;">
شماره
</div>
<div class="Grid_SHGridContent" style="width: 570px;">
عنوان
</div>
<div class="Grid_SHGridContent" style="width: 120px;">
تاریخ انتشار</div>
<div class="Grid_SHGridContent" style="width: 60px;">
انتخاب</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<div class="Grid_SH_Grid_Content">
<div class="Grid_SH_GdContact" style="width: 80px;">
<asp:Label ID="Label1" runat="server" Text='<%# Eval("ID") %>'></asp:Label>
</div>
<div class="Grid_SH_GdContact" style="width: 570px;">
<asp:Label ID="lblUserName" runat="server" Text='<%# Eval("Title") %>'></asp:Label>
</div>
<div class="Grid_SH_GdContact" style="width: 120px;">
<asp:Label ID="lblLastName" runat="server" Text='<%# Eval("PublishDate") %>'></asp:Label>
</div>
<div class="Grid_SH_GdContact" style="width: 60px;">
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# String.Format("~/News/PostAndEditNews.aspx?Act=S&PostID={0}" , Eval("ID")) %>'
Target="_blank" Font-Overline="false" BorderColor="Transparent">
<asp:Image ID="Image1" runat="server" ToolTip="انتخاب" ImageUrl="~/Buuton/button_Select.png" />
</asp:HyperLink>
</div>
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EmptyDataTemplate>
<div class="Grid_SH_Grid_Content">
موردی یافت نشد
</div>
</EmptyDataTemplate>
<PagerSettings Mode="Numeric" />
<PagerStyle CssClass="Grid_SH_PageMode" HorizontalAlign="Center" />
</asp:GridView>

sasanrstm
چهارشنبه 22 شهریور 1391, 09:27 صبح
سلام خوبی کلا مشگلت چیه؟؟ یعنی چی در سمت کد درست کنم واضحتر بگو بگم چیکار کنی ؟؟؟؟؟؟؟؟؟

fakhravari
چهارشنبه 22 شهریور 1391, 21:28 عصر
برای مثال موارد بالا قسمت های TemplateField و HeaderTemplate و PagerSettings چطوری طراحی کنم.

amamam
چهارشنبه 22 شهریور 1391, 21:41 عصر
سلام
یه view source بگیر تو صفحه که بالا اومده کدش رو می بینی،
البته اگه می خوای سمت کلاینت بسازیش. اگه هم منظورت ظاهرشه که چند تا نمونه ببین. سرچ کن.

aliblue
چهارشنبه 22 شهریور 1391, 22:08 عصر
آقای فخراوری که خودشون استادن و این جوابایی که داده شده خیلی مبتدی هست و معلومه که منظور ایشونو نفهمیدن.متاسفانه من هم دانشم در حدی نیست که جوابشونو بدم.هنوز با TemplateField کار نکردم.

fakhravari
چهارشنبه 22 شهریور 1391, 23:01 عصر
عزیز دل بابا من view source نمیخوام که .
من طراحی موارد TemplateField و HeaderTemplate و PagerSettings را طرف کد میخواهم مثال
for (int b = 0; b < Dt.Rows.Count; b++)
{
GridView Grid = new GridView();
Grid.ID = "Grid" + b.ToString();

amamam
پنج شنبه 23 شهریور 1391, 01:11 صبح
عزیز دل بابا من view source نمیخوام که .
من طراحی موارد TemplateField و HeaderTemplate و PagerSettings را طرف کد میخواهم مثال
for (int b = 0; b < Dt.Rows.Count; b++)
{
GridView Grid = new GridView();
Grid.ID = "Grid" + b.ToString();
من یه سرچ کوچولو زدم به این لینک برخوردم شاید مربوط باشه http://forums.asp.net/t/1576833.aspx (http://forums.asp.net/t/1576833.aspx)

fakhravari
پنج شنبه 23 شهریور 1391, 01:59 صبح
یه کاری که انجام دادم اما یه مشکل داره .
برای مثال
GridView Grid;
for (int b = 0; b < Dt.Rows.Count; b++)
{

SqlCommand Command3 = new SqlCommand("SELECT ID,Title, PublishDate, Photo FROM News_News WHERE (SubGroupID = " + Dt.Rows[b]["ID"].ToString() + ") Order By ID Desc ");
Grid = new GridView();
Grid = GridView1;
Grid.ID = "Grid" + b.ToString();
Grid.DataSource = DAL.FillDataTable(Command3);
Grid.DataBind();
PlaceHolder1.Controls.Add(Grid);
}
در این مثال کل مطالب میاره بر اساس حلقه مثلا id=2 شامل یک دیتانیبل 6 رکوردن و id =3 یک دیتاتیبل 10 رکوردن.
در دیباگ مراحل درست میره یعنی مراتب از حلقه 0 تا N میره و داده ها هم میان.
اما این کد من فقط گرید اخری که در حلقه پر میشود میاره.
چون من به جای اینکه تمام مراحل ساخت گرید در قسمت کد انجام بدم اومدم گفتم یک گرید داریم در قسمت HTML و حالا اونو میدیم به new GridView ساخته شده و ID گرید هم عوض میکنیم و در اخر PlaceHolder1.Controls.Add میکنیم.
اما این PlaceHolder1.Controls.Add کار نمیده اگه میداد تمامو باید بیورد که 1 نمایش میده.
دوستان هدف من اینه که دیگه طرف کد نرم برای طراحی گرید از گرید توی قسمت HTML استفاده کنم

fakhravari
جمعه 24 شهریور 1391, 02:07 صبح
یک سمپل از کارم گذاشتم که دوستان بدونن مشکلم چی
http://mohamad-hoosein.persiangig.com/asp/Application1.rar

fakhravari
شنبه 25 شهریور 1391, 17:13 عصر
دوستان پیشنهادی نیست؟

saeed_sho
دوشنبه 17 مهر 1391, 13:06 عصر
من کدهاتون رو ندیدم
اما به نظر من هر گریدو بزارید در یک panel بعد پنل رو اد کنید