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

مشكله عند إنشاء DataGrid في الRuntime

مغلق
بدأه فدى في 28 يوليو 2006 · 1 رد · 465 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لدي قاعدة بيانات تحوي مجموعات وبكل مجموعه عدد من الطلبه لكل مدرس (أي المدرس يكون له أكثر من مجموعه –عدد لا نهائي-).

وماأردت هو عندما يفتح الدكتور صفحته يعرض له كل مجموعه بما فيها من طلبه في dataGrid جديد (أي عدد الDataGrid=عدد المجموعت)

بحيث يمكن للمدرس أو الدكتور إختيار مجموعه واحده فقط بإستخدام Button في الDataGrid وواجهت مشكلتان:

1) كيف لي أن أضع Column Button بحيث يحوي Button واحد فقط لل DataGrid بأكمله (أي يكون بال Button Column Button واحد فقط لكل الصفوف في ال DataGrid)

2) بما أن ال DataGrid (والذي يكون بعدد المجموعات) يتم إنشاءه في الRun time وليس في ال Design time فكيف لي أن أستخدم أي Eventsفكيف لي أن أستخدم Event لل Button أو ItemDataBound Event

وهذا هو الكود المستخدم إلى الآن

(ملاحظة: لم أضف Button Column بعد)

private System.Data.Odbc.OdbcConnection con;
		private System.Data.Odbc.OdbcCommand com;
		private System.Data.Odbc.OdbcDataReader read;
		private String str;
strCon="DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;PORT=3306;DATABASE=test;UID=root;PWD=root;OPTION=3";
con= new System.Data.Odbc.OdbcConnection(strCon);
con.Open();
com= new System.Data.Odbc.OdbcCommand("SELECT count(distinct r.group_no) FROM test.reg_groups r WHERE r.dr_id="+Session["id"].ToString(),con);	
\\ لإيجاد عدد المجموعات لدكتور معين
read= com.ExecuteReader();
if(read.Read())
	{
		str=read[0].ToString();
	}
if(Int32.Parse(str)>0) \\ إذا كان هناك مجموعات
		{
		for (int i=1; i<=Int32.Parse(str); i++) \\ بعدد المجموعات 
				{
com= new System.Data.Odbc.OdbcCommand("SELECT * FROM test.reg_groups r WHERE r.dr_id="+Session["id"].ToString()+" AND r.group_no="+i.ToString(),con);
\\ السيشن تحوي رقم الدكتور أو المدرس
read= com.ExecuteReader();
System.Web.UI.WebControls.DataGrid DataGrid2=new System.Web.UI.WebControls.DataGrid();  \\ إنشاء داتا جرد لكل مجموعه  

DataGrid2.AutoGenerateColumns=false;
DataGrid2.ForeColor=Color.DarkBlue;
DataGrid2.HeaderStyle.BackColor=Color.Maroon;
DataGrid2.HeaderStyle.ForeColor=Color.LightGoldenrodYellow;
DataGrid2.HeaderStyle.Font.Bold=true;
System.Web.UI.WebControls.BoundColumn bc1=new System.Web.UI.WebControls.BoundColumn();
System.Web.UI.WebControls.BoundColumn bc2=new System.Web.UI.WebControls.BoundColumn();
System.Web.UI.WebControls.BoundColumn bc3=new System.Web.UI.WebControls.BoundColumn();
System.Web.UI.WebControls.BoundColumn bc4=new System.Web.UI.WebControls.BoundColumn();
System.Web.UI.WebControls.BoundColumn bc5=new System.Web.UI.WebControls.BoundColumn();
bc1.HeaderText="Group Nuber";
bc1.DataField="group_no";
bc2.HeaderText="Student Id";
bc2.DataField="std_id";
bc3.HeaderText="Student Name";
bc3.DataField="std_name";
bc4.HeaderText="Project Subject";
bc4.DataField="proj_subject";
bc5.HeaderText="Project Describtion";
bc5.DataField="proj_describtion";
DataGrid2.Columns.Add(bc1);
DataGrid2.Columns.Add(bc2);
DataGrid2.Columns.Add(bc3);
DataGrid2.Columns.Add(bc4);
DataGrid2.Columns.Add(bc5);
DataGrid2.DataSource=read;
DataGrid2.DataBind();
this.Controls.Add(DataGrid2);
read.Close();
}
}
else
{
Label1.Text="No Groupes are registered";
}
#2

يعني فقط سؤالين:

1) كيف أضع Button واحد لأكثر من Row في ال DataGrid ؟

2) كيف اتعامل مع الEvents بما أن ال DataGrid ينشىء تلقاءياً وليس في ال Design time ؟

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

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