PDA

View Full Version : سوال: چطوری میشه پس از Load شدن صفحه روی یه تکست باکس مشخص ار Gridview فوکوس کرد؟؟



behzad1367
یک شنبه 10 مهر 1390, 08:56 صبح
سلام دوستان.یه گرید ویو دارم که داخل آپدیت پنل گذاشتمش.اما پس از اینکه صفحه رفرش میشه این گرید ویو فوکوس تکست باکسش رو از دست میده.من میخام مثلا اگه قبل رفرش صفحه فوکوس روی تکست باکس ستون اول گرید ویو هست پس از رفرش صفحه فوکوس بیاد روی تکست باکس ستون دوم گرید ویو.به نظر شما چطور میشه این کارو انجام داد؟

behzad1367
یک شنبه 10 مهر 1390, 12:09 عصر
نیست کسی کمک کنه؟؟؟؟

A.S.Roma
یک شنبه 10 مهر 1390, 12:25 عصر
با استفاده از خاصیت ClientID‌ سمت کلاینت می تونی Handle ش کنی

atarodi
یک شنبه 10 مهر 1390, 12:31 عصر
با سلام
شما باید اول با استفاده از متد FindControl() تکست باکس مورد نظرتان را در کنترل گریدویو شناسایی نمایید و پس از آن از یکی از دو روش زیر استفاده کنید.

Page.SetFocus(TextBox1)

یا

TextBox1.Focus();

behzad1367
یک شنبه 10 مهر 1390, 12:44 عصر
با استفاده از خاصیت ClientID‌ سمت کلاینت می تونی Handle ش کنی
داداش قطعه کدش رو مینویسی؟

A.S.Roma
یک شنبه 10 مهر 1390, 12:57 عصر
من کلیت موضوع رو می گم . ( چون بنا به شرایط Page و کنترل Grid‌متفاوته )

شما یک کنترل دارید به نام grid1 توی صفحه . این کنترل باید به المان های html رندر بشه تا برای Browser قابل فهم بشه . من دقیقا" نمی دونم Grid‌به چه چیزهایی رندر بشه اما شما خیلی ساده می تونید اینو بفهیمد (View Source بگیرید از صفحه)
مورد بعدی عوض شدن نام کنترل سمت کلاینت هست که با استفاده از خاصیت ClientID بهش برسی. مثلا" :
$("#<%=grid1.ClientID%>")[0]
کد بالا دقیقا" کنترل Grid رو سمت کلاینت بهت میده .

حالا شما باید با کدهای جاوا اسکریپت به خواستتون برسید.


»» سمت سرور هم شاید بشه چنین کاری رو کرد اما من شخصا" بلد نیستم.

behzad1367
یک شنبه 10 مهر 1390, 13:11 عصر
من کلیت موضوع رو می گم . ( چون بنا به شرایط Page و کنترل Grid‌متفاوته )

شما یک کنترل دارید به نام grid1 توی صفحه . این کنترل باید به المان های html رندر بشه تا برای Browser قابل فهم بشه . من دقیقا" نمی دونم Grid‌به چه چیزهایی رندر بشه اما شما خیلی ساده می تونید اینو بفهیمد (View Source بگیرید از صفحه)
مورد بعدی عوض شدن نام کنترل سمت کلاینت هست که با استفاده از خاصیت ClientID بهش برسی. مثلا" :
$("#<%=grid1.ClientID%>")[0]
کد بالا دقیقا" کنترل Grid رو سمت کلاینت بهت میده .

حالا شما باید با کدهای جاوا اسکریپت به خواستتون برسید.


»» سمت سرور هم شاید بشه چنین کاری رو کرد اما من شخصا" بلد نیستم.

داداش ما همیشه شمارو تو زحمت میندازیم شمام جواب میدی دستت درد نکنه.خب اینایی که گفتی رو بلدم اینو بفرمایید که چه کدی واسه جاوا اسکریپتش بنویسم؟ فقط یه راهنمایی کن.مرسی

A.S.Roma
یک شنبه 10 مهر 1390, 13:36 عصر
داداش ما همیشه شمارو تو زحمت میندازیم شمام جواب میدی دستت درد نکنه.خب اینایی که گفتی رو بلدم اینو بفرمایید که چه کدی واسه جاوا اسکریپتش بنویسم؟ فقط یه راهنمایی کن.مرسی
من تو Notepad الان یک Sample نوشتم . نمی دونم کار می کنه یا نه . اما منطقش ساده است :
»» فرض رو بر این گذاشتم که گرید مستقیما" به Table رندر نمیشه !

var grid = $("#<%=grid1.ClientID %>")[0];

var tbl = null;
var ctrl = null;

for(var i = 0 ; i< grid.chidren.length ; i++) {
ctrl = grid.children(i);
if(ctrl.nodeType == "TABLE") {
tbl = ctrl;
break;
}
}

tbl.rows(1).children(2).setFocus();