الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف أضيف control الى DataList في ال runtime

مغلق
بدأه conan في 6 فبراير 2005 · 5 رد · 795 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته

استخدم DataList واملأ محتوياتها عن طريق جملة select ثم أعمل binding

الى هنا كل شئ يعمل جيدا

المشكلة هي:

اريد لكل صف في ال DataList ان انشئ control بحيث يكون اسمه متغيرا لكل صف

بمعنى للصف الأول يكون اسمه Confirmbutton1

وللصف الثاني يكون اسمه Confirmbutton2

وللصف الثالث يكون اسمه Confirmbutton3

وهكذا

فهل هذا ممكن؟ تحديدا كيف يمكنني عمل concatenation ليكون الاسم هوConfirmbutton ملصوقا به قيمة العمود deleto لهذا الصف ؟

وهل يمكنني التحكم في اظهار هذا الcontrol او عدم اظهاره طبقا لقيمة العمود deleto لهذا الصف؟ وكيف ذلك؟

هذا هو الكود الذي استخدمه:

<asp:datalist id="theDataList" runat="server" Width="737px">
      	<ItemTemplate>
        <hr size="0" />
  <table border="0" align="right" dir="rtl" width="100%">
  	<tr>
    <td>
    	<%# DataBinder.Eval(Container.DataItem,"deleto") %>
      <cc1:confirmbutton id="Confirmbutton" runat="server" ONCLICK="delete_Click" Font-Names="Times New Roman"
	Font-Size="X-Small" BackColor="White" BorderStyle="Groove" Text="حذف الرد" Font-Bold="True" ForeColor="#00CCCC"
	Message="هل تريد بالفعل حذف هذا الرد؟"></cc1:confirmbutton>
SCRIPT LANGUAGE="c#" RUNAT="server">
      	private void delete_Click(object sender, System.EventArgs e)
        	{
      Response.Redirect("page1.aspx",false);
        }
        </SCRIPT>
    </td>
  	</tr>
  </table>
	</ItemTemplate>

    </asp:datalist>

وبارك الله فيكم وجعله في ميزان حسناتكم

تم تعديل هذه المشاركة بواسطة conan في 6 فبراير 2005 في 12:23

#2
private void DataList1_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
  {
 	 Button b = new Button();
 	 DataRowView drv = (DataRowView)e.Item.DataItem;
 	 b.ID = "Confirmbutton"+drv["deleto"].ToString();
 	 //asumming deleto is an integer
 	 int deleto = int.Parse(drv["deleto"].ToString());
 	 if(deleto>0)
    b.Visible = true;
 	 else
    b.Visible = false;
 	 //or use the following line:
 	 //b.Visible = (deleto>0);
 	 e.Item.Controls.Add(b);
  }
#3

قم بربط خاصية Text للرز ايضا ضمن التمبليت.

مثلا

<cc1:confirmbutton id="Confirmbutton" runat="server" ONCLICK="delete_Click" Font-Names="Times New Roman"
Font-Size="X-Small" BackColor="White" BorderStyle="Groove" Text="حذف الرد" Font-Bold="True" ForeColor="#00CCCC"
Message="هل تريد بالفعل حذف هذا الرد؟" Text='<%# DataBinder.Eval(Container.DataItem,"name") %>
'></cc1:confirmbutton>

وحدن بيبقو متل زهر البيلسان وحدهن بيقطفو وراق الزمان

بيسكرو الغابي بيضلهن متل الشتي يدقوا على بوابي على بوابي

يا زمان يا عشب داشر فوق هالحيطان ضويت ورد الليل عكتابي

برج الحمام مسور و عالي هج الحمام بقيت لحالي لحالي

يا ناطرين التلج ما عاد بدكن ترجعو صرخ عليهن بالشتي يا ديب بلكي بيسمعو

http://www.mazikana.com/Songs/F/Fayrouz/mp...uz---Wahdon.mp3

#4

السلام عليكم ورحمة الله وبركاته

جربت لم تنفع ممكن توضح

ما هو الخطء في الكود

oleDbDApQuestion.Fill(dataSet11.pQuestion);

oleDbDAtAnswer.Fill(dataSet11.tAnswer);

for(int nQuestion=1 ;nQuestion<dataSet11.pQuestion.Rows.Count;nQuestion++)

{

ListBox lis =new ListBox();

string sConName="lis"+nQuestion;

lis.ID=sConName;

Panel1.Controls.Add(sConName);

dataView1.RowFilter="nQuestionCode="+nQuestion;

sConName.DataSource =dataView1 ;

"lis"+nQuestion.ToStriung().DataTextField="sQuestionTxt";

"lis"+nQuestion.ToString().DataValueField="nQuestionCode";

"lis"+nQuestion.ToString().DataBind();

}

ListBox1.DataBind();

}

#5

أعتقد أن المشكلة هي كما يلي:

عند طلب الإجراء DataBind للعنصر ListBox بعد إضافته إلى العنصر Panel1 قد لايكون هذا صحيح لذلك أقترح إضافة المعلومات إلى الـ ListBox يدوياً:

for(int nQuestion=1;nQuestion<dataSet11.pQuestion.Rows.Count;nQuestion++)
{
ListBox lis =new ListBox();
string sConName="lis"+nQuestion;
lis.ID=sConName;
Panel1.Controls.Add(sConName);
dataView1.RowFilter="nQuestionCode="+nQuestion;
// تنفيذ حلقة على جميع أسطر النتيجة لملئ الـ ListBox
}
#6

السلام عليكم ورحمة الله وبركاته

اريد جمع المعلومات المختاره من المستخدم بعد الاختيار

RadioButtonList l;
l = (RadioButtonList) Panel1.FindControl("RadioButtonListA1");
SRING V=l.SelectedItem.Value.ToString();
حتي يتم تخزنها في الملفات

هذا الموضوع مغلق.

مواضيع مشابهة