PDA

View Full Version : نحوه اضافه کردن کنترل های داینامیک



yavari
سه شنبه 04 مهر 1385, 20:49 عصر
سلام

میخواستم بدونم چطور میشه کنترل هایی مثل هایپرلینک و... را در زمان اجرا ایجاد کرد به طوری که بشه روی رویدادهای اون کنترل داشت.

ممنون

AFSHIN_REFUA
سه شنبه 04 مهر 1385, 21:37 عصر
دوست من سوالتان خیلی کلی است برای اطلاعات خارجه از db میخاهید یا برای
افزودن کنترل بدون ارتباط با اگر برای سطرهای گرید بخواهید این هم کدش



<td align="right" width="285" valign="top" bordercolor="#ffffff"><asp:datagrid id="Dgproducts" runat="server" autogeneratecolumns="False" cssclass="mainptext"
width="450px" bordercolor="White" borderstyle="None" allowpaging="True" pagesize="3">
<columns>
<asp:templatecolumn>
<itemtemplate>
<table id="Table1" bordercolor="#cc0033" cellspacing="0" cellpadding="0" align="right"
border="1">
<tr>
<td dir="rtl" nowrap bordercolor="#ffffff">
<table id="Table2" cellspacing="0" cellpadding="0" width="265" border="0">
<tr>
<td valign="middle" width="135">
<asp:imagebutton id="Imagebutton2" runat="server" Width="100" ImageUrl='<%#DataBinder.Eval(Container.DataItem, "pic1")%>' CommandName="ViewDetail" Height="70">
</asp:imagebutton></td>
<td valign="middle" width="130">
<table id="Table3" cellspacing="0" cellpadding="0" width="150" border="0">
<tr>
<td class="gtext2" style="COLOR: #cc0033" nowrap width="40" height="20">نام کالا :</td>
<td class="mainptext" nowrap width="90" height="20"><%#DataBinder.Eval(Container.DataItem, "productname")%></td>
</tr>
<tr>
<td class="gtext2" style="COLOR: #cc0033" nowrap height="20">کد کالا :</td>
<td class="mainptext" nowrap height="20"><%#DataBinder.Eval(Container.DataItem, "id")%></td>
</tr>
<tr>
<td class="gtext2" style="COLOR: #cc0033" nowrap height="20">قیمت :</td>
<td class="mainptext" nowrap height="20"><%#DataBinder.Eval(Container.DataItem, "price")%><font class="gtext2" color="#cc0033">&nbsp;ریال&nbsp;</font></td>
</tr>
<tr>
<td class="mainptext" style="HEIGHT: 18px" nowrap colspan="2" height="18">
<asp:Label id="lblava" Runat="server" text='<%#DataBinder.Eval(Container.DataItem, "availability")%>' Visible="False" cssclass="mainptext2">
</asp:Label>
<asp:label id="lblmsg" cssclass="2" runat="server"></asp:label></td>
</tr>
<tr>
<td nowrap height="20"><a class="gtext2" style="COLOR: blue" href='Details.aspx?id=<%# DataBinder.Eval(Container.DataItem, "id") %>' target="_blank">جزِئیات</a>
</td>
<td nowrap height="20"></td>
</tr>
<tr>
<td class="gtext2" style="COLOR: #cc0033" align="right" colspan="2">تعداد
:&nbsp;&nbsp;
<asp:textbox id="TextBox1" runat="server" width="15px" height="15px"></asp:textbox>&nbsp;</td>
</tr>
</table>
<asp:button id="adtobasket" cssclass="mainptext2" width="122px" bordercolor="CadetBlue" commandname="Add"
height="22px" runat="server" text="به سبد خرید من اضافه کن" backcolor="LightSteelBlue"></asp:button></td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="mainptext" dir="rtl" nowrap bordercolor="#ffffff" align="right"></td>
</tr>
</table>
<br>
<br>
</itemtemplate>
</asp:templatecolumn>
</columns>
<pagerstyle forecolor="#C000C0" position="TopAndBottom" cssclass="mainptext" wrap="False" mode="NumericPages"></pagerstyle>
</asp:datagrid>






این تیکه اش لینک میسازد برای هر سطر


<asp:LinkButton id="Linkbutton1" CommandName="Select" Runat="server" text='<%#DataBinder.Eval(Container.DataItem, "CategoryName")%>' CssClass="mainptext" ForeColor="Blue">
</asp:LinkButton><br>


ویا این تیکه اش








[

<a class="gtext2" style="COLOR: blue" href='Details.aspx?id=<%# DataBinder.Eval(Container.DataItem, "id") %>' target="_blank">جزِئیات</a>

به ازای هر سطر دارد لینک میسازد

yavari
جمعه 07 مهر 1385, 08:21 صبح
سلام

ممنون دوست عزیز
اون دو مورد اولی که عنوان کردینو من گیرم ، البته من میخوام با چند تا شرط کنترلها رو ایجاد کنم و در حال حاضر گیر دیتابیس ندارم
کلا طریقه ایجاد رو نمی دونم !

ممنون

SalarSoft
جمعه 07 مهر 1385, 08:39 صبح
اول جستجو کنید. تاپیک های زیادی در این مورد هست.
یه نمونه:




protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);

Button btn=new Button();
btn.Text="Test";
this.Controls.Add(btn);

}

yavari
پنج شنبه 13 مهر 1385, 13:08 عصر
سلام

ممنون دوست عزیز
اما یه سوال دیگه :
چه جوری میتونم کنترلها را با فاصله مورد نظرم داشته باشم ؟
lnk1.Text = "<b>" & i & "</b>" & " "
استفاده از این روش برام جالب نیست !

ممنون میشم کمکم کنید !

yavari
شنبه 15 مهر 1385, 14:08 عصر
سلام

یعنی کسی نمی دونه چه جوری میشه همچین کاری رو کرد ؟

ممنون

SalarSoft
یک شنبه 16 مهر 1385, 06:55 صبح
اول جستجو کنید. تاپیک های زیادی در این مورد هست.
یک PlaceHolder تو صفحه بزار.
بعد اینا رو بنویس:


protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);

Button btn=new Button();//دکمه اول
btn.Text="Test";
PlaceHolder1.Controls.Add(btn);

PlaceHolder1.Controls.Add(new LiteralControl("&nbsp;&nbsp;"));//فاصله


btn=new Button();//دکمه دوم
btn.Text="Test 2";
PlaceHolder1.Controls.Add(btn);

}