السلام عليكم ,,,
كيف اعرض بيانات من DataSet ولكن لاريدها عن طريق DataGrid
اريد ان اعرضها سجل وراء سجل ...
هل من طريقة ؟؟؟؟
السلام عليكم ,,,
كيف اعرض بيانات من DataSet ولكن لاريدها عن طريق DataGrid
اريد ان اعرضها سجل وراء سجل ...
هل من طريقة ؟؟؟؟
يمكن استخدام Repeator أو DataList, ولكن إلى ماذا تهدف قد تكون لدي فكرة جيدة
اخي الفاضل اشكر لك لطف رعايتك ,,,
ماريد عملة بالضبط اريد ان اعرض سجلات معينة امام المستخدم لكي يعدل بواحد او اكثر من هذة السجلات ....
مثلا اريد ان اعرض سجلات بيانات الموظفين الذين يستحقون الترقية وفي اخر الصفحة هناك حقل ياشر علية المدير العام بان هذا الشخص
يستحق الترقية ويضغط على زر الحفظ فيعمل حفظ التعديل علي بيانات الموظف المعروضة وهكذا سجل تلو الاخر ...
اخي الفاضل اصدقك القول حاولت ان اضيف حقل CheakBox داخل DataGrid ولكنا عبثا حاولات فلم تنجح محاولاتي المتكررة
فقلت اجرب طريقة اخرى وهي كما اشرت سابقا ان اعرض السجلات واحد تلو الاخر .....
والله يرعاكم ,,,
بسيطة :lol: ... من أجل إضافة CheckBox إلى DataGrid:
<asp:TemplateColumn HeaderText="ترقية الموظف"> <ItemTemplate> <asp:CheckBox runat="server" TooTip='<%# Convert.ToBoolean(DataBinder.Eval(Container, "DataItem.EMP_ID")) %>' ID="cbEmpID"/> </ItemTemplate> </asp:TemplateColumn>
طبعاً الشيفرة السابقة يتم وضعها بين <Columns>....
لقد أسندنا قيمة رقم الموظف إلى الخاصة ToolTip لعنصر CheckBox من أجل معرفة رقم الموظف الذي ستتم ترقيته....
أما من أجل معرفة الموظفين الذين تم تحديدهم من قبل المدير:
CheckBox cbEmpID;
foreach (DataGridItem dgItem in DataGrid1.Items)
{
// get check box
cbEmpID = (CheckBox)dgItem.FindControl("cbEmpID");
// get label student university number
if (cbEmpID.Checked)
{
string EmpID = cbEmpID.ToolTip;
// نفذ ما تريده هنا
}
}ولكن انتبه إلى وضع IsPostPack عند تحميل الموظفين
السلام عليكم ,,,
اخي الفاضل الله يبسط ايامك انا استخدم Codebehind
وسوف اعرض لك ماعملتة كالتالي :
myConnection.Open ();
OleDbDataAdapter ad_emp = new OleDbDataAdapter ("Select emp_no,emp_name,emp_tarqeh from emp",myConnection);
DataSet ds_emp = new DataSet ();
ad_emp .Fill (ds_emp,"emp");
datagrid1.DataSource =ds_emp;
BoundColumn C1 = new BoundColumn();
BoundColumn C2 = new BoundColumn();
BoundColumn C3 = new BoundColumn();
C1.HeaderText="رقم الموظف";
C1.HeaderStyle.Width =550;
C1.HeaderStyle.HorizontalAlign =HorizontalAlign.Center;
C1.DataField="emp_no";
C2.HeaderText="اسم الموظف";
C2.HeaderStyle.Width =550;
C2.HeaderStyle.HorizontalAlign =HorizontalAlign.Center;
C2.DataField="emp_name";
C3.HeaderText="ترقية - نعم -لا";
C3.HeaderStyle.Width =550;
C3.HeaderStyle.HorizontalAlign =HorizontalAlign.Center;
C3.DataField="emp_tarqeh";
datagrid1.Columns.AddAt(0, C1);
datagrid1.Columns.AddAt(1, C2);
datagrid1.Columns.AddAt(2, C3);
datagrid1.DataBind();
myConnection.Close();فماذا اضيف علية كي اجعل الحقل الثالث يعرض على شكل CheckBox !!!
تم تعديل هذه المشاركة بواسطة Salih_B في 23 أبريل 2005 في 09:08
أرجو تجربة ما يلي:
في الحدث DataGrid1_ItemCreated اكتب ما ياي:
if (e.Item.ItemType == ListItemType.Item)
{
TableCell td = new TableCell();
CheckBox cb = new CheckBox();
td.Controls.Add(cb);
e.Item.Controls.Add(td);
}أرجو كتابة النتائج,............................
السلام عليكم ,,,
يعطيك العافية جربت مازودتني ية واضفت علية بعض الاشياء واصبح كالتالي :
private void OnItemDataBound(object sender,System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
TableCell td = new TableCell();
CheckBox cb = new CheckBox();
cb.Text = "تعتمد";
td.Width = 200;
td.Controls.Add(cb);
e.Item.Controls.Add(td);
e.Item.Cells[10].ForeColor = System.Drawing.Color.Red;
}
}وضهر العمود الجديد على شكل CheckBox
فلك الشكر موصول ولو سمحت لي :
هل من طريق لكي اسمي هذا العمود الجديد HeaderText ؟ حاولت ولكن لاجدوى
هل من الممكن ان اضع حدثا عند التاشير على CheckBox ؟؟
ولك اجمل تحية ,,,
عند بناء الـ DataGrid للمرة الأولة ضع عمود فارغ وأعتقد بمشي الحال...
أما بالنسبة للتأشير على CheckBox:
cb.Attributes["onclick"] = "javascript: alert('Hello');";هذا الموضوع مغلق.