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

كيف يمكنني أن اضيف Calender داخل الداتاجريد........؟؟عاجل

مغلق
بدأه Eng/Nesreen في 10 يناير 2008 · 10 رد · 1,459 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

لدي داتاجريد يتم عرض بيانات فيها ومن ضمن هذه البيانات حقل تاريخ صرف الشيك و أريد أن أعدل في هذا التاريخ وفكرت أن أضيف Calender عندما يضغط علي زر تعديل اللي موجود في الداتاجريد تظهر ال calender بجوار حقل تاريخ صرف الشيك

المشكله :

هو انه عندما أضيف زر في الداتاجريد لا يري الكود اللي مكتوب داخلة

فما هو المشكلة؟؟؟؟

#3

ممكن هذا الرابط يفيدك كيفية اضافة calender للـgridview

http://msdn2.microsoft.com/en-us/library/b...mpfldsvb_topic4

1

-----------------------------------------------------------------------------------------------------------------------------





 

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

Mohammad Sonaiea
 

#4

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

أشكرك أخي /محمد سماقية علي مساعداتك الدائمة

ولكن ما اردت تنفيذة هو

ان اضع زرار وبجانبة textbox داخل الداتا جريد عند الضغط على الزرار يستدعى ال method لفتح calendare

TextBox L_Name = (TextBox )dg_query.Items[e.Item.ItemIndex].FindControl("Emp_Name");

SetDate("L_Name");

private void SetDate(string txtDate)

{

string strScript = "<script>";

strScript +="window.open('/Disbursement/Calendar.aspx?TDate="+txtDate+"','','width=140,height=165,location = no,menubar = no,resizable = no ,Top=100,left=300,titlebar =no,toolbar =no,status =no ');" ;

strScript += "</" + "script>";

RegisterClientScriptBlock("clientScript",strScript);

}

ويتم ارجاع التاريخ داخل الtextbox الذى يوجد بجانب الزرار

ولكن مايحدث انة عند الضغط على الزرار يدخل فى الmethod ويقرا التاريخ لكن لا يتم ارجاع التاريخ فى ال textbobx

#5
1-TextBox L_Name = (TextBox )dg_query.Items[e.Item.ItemIndex].FindControl("Emp_Name");
2-SetDate("L_Name");


3-private void SetDate(string txtDate)
{
4-   string strScript = "<script>";
5-   strScript +="window.open('/Disbursement/Calendar.aspx?TDate="+txtDate+"','','width=140,height=165,location = no,menubar =	 no,resizable = no ,Top=100,left=300,titlebar =no,toolbar =no,status =no ');"; 
6-   strScript += "</" + "script>";
7-   RegisterClientScriptBlock("ClientScript",strScript)
}

هلا اختي الكريمة:

عند السطر 5 تم فتح نافذة وتم استدعاء صفحة الـcalender ولكن اين الارجاع انا لا ارى اي ارجاع ؟؟؟؟

انا أقصد ان خرج الـcalender لم يتم اسناده للـtextbox

وايضاً هنا لا ينصح استخدام الـopenwindow استخدمي عوضاَ عنهاwindow.showModalDialog بكل سهولة تستطعين ان تمرري برمترات وان تسترجعي ارجاع من أجل اسناده للـtextbox

وهذه الصفحة يوجد فيها مثال مع شرح كيفية التعامل مع window.showModalDialog

http://msconline.maconstate.edu/tutorials/...sdhtml07-05.htm

ولكن يوجد كونترول calender مع مجموعة toolkit لـ ajax جدا رائع وانا انصحك باستخدامه وايضاً يمكن ان تتعاملي معه كعنصر من عناصر asp بدون استخدام الـjavascipt

http://asp.net/AJAX/AjaxControlToolkit/Sam...r/Calendar.aspx

تم تعديل هذه المشاركة بواسطة محمد سماقية في 15 يناير 2008 في 12:11

1

-----------------------------------------------------------------------------------------------------------------------------





 

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

Mohammad Sonaiea
 

#6

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

اشكرك اخى على مساعدتك لى

ولكن انا بفتح الcalendre وبالفعل يتم ارجاع التاريخ فى textbox عن طريق setdate method

ولكن عند استخدامى هذا الكود ل textbox او اى كنترول بداخل ال datagrid لم يتم ارجاع التاريخ ولا يشعر بالكنترول دة مع انى عملت علية find control من ال datagrid

private void Calendar1_SelectionChanged_1(object sender, System.EventArgs e)

{

if(this.Calendar1.SelectedDate.ToShortDateString()=="" ||this.Calendar1.SelectedDate.ToShortDateString() =="01/01/0001")

{

dat=Convert.ToDateTime(this.Calendar1.TodaysDate.ToShortDateString()).Year + "/" + Convert.ToDateTime(this.Calendar1.TodaysDate.ToShortDateString()).Month + "/" + Convert.ToDateTime(this.Calendar1.TodaysDate.ToShortDateString()).Day ;

}

else

{

dat =Convert.ToDateTime( this.Calendar1.SelectedDate.ToShortDateString()).Year+ "/" + Convert.ToDateTime(this.Calendar1.SelectedDate.ToShortDateString()).Month+ "/" + Convert.ToDateTime(this.Calendar1.SelectedDate.ToShortDateString()).Day;

}

if(Session["TestBefore"] != null)

{

if(Session["text1"] != null)

{

int Type = int.Parse(Session["Type"].ToString());

string Txt3Year = dat.Substring(0,4); //(Textbox3.Text).Substring((Textbox3.Text).LastIndexOf("/")+1);

DataSet ds = new DataSet();

SqlDataAdapter myadpt = new SqlDataAdapter("set dateformat dmy select * from Documents where DocSerial_No ='"+Session["text1"]+"' and Type_Code = '"+Type+"' and Year(DocSerial_Date) = '"+Txt3Year+"' and Comp_Code1 ='"+ Session["cmpid"].ToString() +"' and Sub_Comp_Code1 = '"+ Session["subcmpid"].ToString() +"'" ,ConfigurationSettings.AppSettings["ArchivingConnect"]);

myadpt.Fill(ds);

if(ds.Tables[0].Rows.Count > 0)

{

SetFocus("هذا المستند موجود مسبقا");

}

Session.Remove("text1");

}

string strScript = "<script language='javascript'> ";

strScript +="window.opener.document.forms(0)."+Session["TDate"]+".value='"+dat+"';";

if(Session["t2"]!=null)

{

strScript +="window.opener.document.forms(0)."+Session["t2"]+".value='"+dat+"';";

}

strScript +="self.close();";

strScript +="</script>";

RegisterClientScriptBlock("anything",strScript);

Session.Remove("t2");

}

#7

أختي الكريمة

strScript +="window.open('/Disbursement/Calendar.aspx?TDate="+txtDate+"','','width=140,height=165,location = no,menubar = no,resizable = no ,Top=100,left=300,titlebar =no,toolbar =no,status =no ');";

txtdate هل هو ID الـtextbox الذي سوف يوضع فيه التاريخ؟؟؟؟؟

هل يمكن ان تكتبي لنا السطر الذي يتم فيه اسناد الـtxtdate !

ملاحظة: الـid بالنسبة للعنصر للـclient يختلف عن السيرفر

يعني مثال

افرضي ان لدنيا textbox1 داخل usercontrol ذات الـid uControl1

وبالتالي الـid الـtextbox بالنسبة للسيرفير هو textbox1 وباستخدام الخاصية textbox.id

اما بالنسبة للـclient هو uControl1_textbox1 وباستخدام الخاصيةtextbox1.ClientID

بالنسبة لمثالك انت تتعاملي مع الـjavascriptلذلك يجب ان يكون id مفهموم بالنسبة للـclient أي يجب ان تستخدمي textbox1.ClientID أو

textbox.id+"_"+uControl1.id

1

-----------------------------------------------------------------------------------------------------------------------------





 

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

Mohammad Sonaiea
 

#8

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

نعم txtdate هو ID الـtextbox الذي سوف يوضع فيه التاريخ عن طريق الsetdate method

وكما ذكرت سابقا ان هذا الكود يعمل فى جميع الحالات حتى لما بعمل connect من client على ال server

لكنة لا يعمل لان الكنترول داخل الداتا جريد

فهل يستطيع احد مساعدتى لانها مشكلة ملحة

TextBox L_Name = (TextBox )dg_query.Items[e.Item.ItemIndex].FindControl("Emp_Name");

SetDate("L_Name");

private void SetDate(string txtDate)

{

string strScript = "<script>";

strScript +="window.open('/Disbursement/Calendar.aspx?TDate="+txtDate+"','','width=140,height=165,location = no,menubar = no,resizable = no ,Top=100,left=300,titlebar =no,toolbar =no,status =no ');" ;

strScript += "</" + "script>";

#9
SetDate(L_Name.ClientID);

-----------------------------------------------------------------------------------------------------------------------------





 

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

Mohammad Sonaiea
 

#10

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

اشكرررررررررررررررررررررررك جداااااااااااااا .................الحمد لله رب العالمين المشكله أتحلت :clapping:

واشكرك جزيل الشكر علي مجهودك الذي بذلته من أجل مساعدتي و حل مشكلتي

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

ولكنى أطمع أن أعرف المزيد...........اود ان استفسر عن شئ يمكن ان يكون مرتبط بنفس الconcept

اننى عند اضافة زرار داخل الداتا جريد فى الedit mode غير زرار ال update او ال Delete او ال select زرار عادي انا ضيفاه من ال toolbox

وبعمل لية ال event بنفسى مش بيحس بال event دة ومش بيدخل فيه ومش عارفة اعرف لية eventhandler

هل دة مرتبط بنفس مبدا ال Clinet والسيرفير..........ولو ماكنشى مرتبط هل لديك حل لهذا المشكلة

Button btn_test = (Button )dg_query.Items[e.Item.ItemIndex].FindControl("btntest");

private void btn_test_Click(object sender, System.EventArgs e)

{

SetDate(txt_test.ClientID);

} :ty:

#11

:rolleyes:

على ماأعتقد لا يوجد مشكلة

ممكن هذا رابط يفيدك

http://authors.aspalliance.com/aspxtreme/w...togridview.aspx

-----------------------------------------------------------------------------------------------------------------------------





 

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

Mohammad Sonaiea
 

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…