برگزیده های پرشین تولز

کنترلهای داخلی گریدویو جواب نمیدن

aref1364

Registered User
تاریخ عضویت
23 جولای 2005
نوشته‌ها
395
لایک‌ها
1
سلام،

صفحات سایت من ASP.NET با VB.NET است.

با دستور زیر میخوام به اطعالات کنترلهای داخل گریدویو دسترسی داشته باشم. اما پیغام خطا میده که نشون میده که کنترل داخل gridview دیده نمیشه:

response.write(ctype(gridview1.findcontrol("label1"), label).text)​
 

Graveworm

Registered User
تاریخ عضویت
23 می 2005
نوشته‌ها
1,071
لایک‌ها
12
محل سکونت
Tehran
Gridview دارای ردیف های مختلفی هست که قبل از findcontrol باید با ()row. و شماره ردیف به اون دسترسی پیدا کرد
اگر شماره ردیف رو نمیدونید باید ار حلقه for each row in g.rows استفاده کنید
 

aref1364

Registered User
تاریخ عضویت
23 جولای 2005
نوشته‌ها
395
لایک‌ها
1
Gridview دارای ردیف های مختلفی هست که قبل از findcontrol باید با ()row. و شماره ردیف به اون دسترسی پیدا کرد
اگر شماره ردیف رو نمیدونید باید ار حلقه for each row in g.rows استفاده کنید


متشکرم
 

aref1364

Registered User
تاریخ عضویت
23 جولای 2005
نوشته‌ها
395
لایک‌ها
1
Gridview دارای ردیف های مختلفی هست که قبل از findcontrol باید با ()row. و شماره ردیف به اون دسترسی پیدا کرد
اگر شماره ردیف رو نمیدونید باید ار حلقه for each row in g.rows استفاده کنید

خب الان یه مشکل دیگه اونم اینکه وقتی من 10 تا رکورد دارم و هر رکورد مربوط به مشخصات یک شخص است که قبلا ثبت نام کرده، چجوری باید بفهمم که فیلد مربوط به کدوم رکورد رو میخوام؟

منظورم اینه که میخوام تشخیص بدم که روی کدوم رکورد دارم کار می کنم

با تشکر
 

Graveworm

Registered User
تاریخ عضویت
23 می 2005
نوشته‌ها
1,071
لایک‌ها
12
محل سکونت
Tehran
خب الان یه مشکل دیگه اونم اینکه وقتی من 10 تا رکورد دارم و هر رکورد مربوط به مشخصات یک شخص است که قبلا ثبت نام کرده، چجوری باید بفهمم که فیلد مربوط به کدوم رکورد رو میخوام؟

منظورم اینه که میخوام تشخیص بدم که روی کدوم رکورد دارم کار می کنم

با تشکر
خوب شما تعیین میکنید که اطلاعات مربوط به کدوم رو میخواهید دیگه؟؟
من متوجه کارتون نشدم.. لطفا یه مثال بزنید یا اینکه بفرمایید دقیقا چه کاری میخواهید بکنید :دی
 

aref1364

Registered User
تاریخ عضویت
23 جولای 2005
نوشته‌ها
395
لایک‌ها
1
خوب شما تعیین میکنید که اطلاعات مربوط به کدوم رو میخواهید دیگه؟؟
من متوجه کارتون نشدم.. لطفا یه مثال بزنید یا اینکه بفرمایید دقیقا چه کاری میخواهید بکنید :دی

قبول دارم که واضح نگفتم!

من یه گرید ویو دارم از لیست کاربران. وقتی مدیر سایت وارد پنل میشه لیست کاربران رو میبینه. هر کاربر چندین فیلد داره جلوش مثل نام، ایمیل، سطح دسترسی، تصویر و ....
به عنوان مثال میخوام در فیلد تصویر جلوی هر کاربر علاوه بر نمایش تصویر اون کاربر یه کنترل فایل آپلود با یه کنترل دکمه بذارم و در صورتی که مدیر بخواد تصویر کاربر رو عوض بکنه، کنترل آپلود را پر کرده و دکمه رو کلیک کنه.

حالا مشکل اینجاست که من چجوری باید به سیستم حالی کنم که مدیر سایت، فیلد فایل آپلود جلوی کدوم کاربر رو پر کرده و دکمه ارسال رو فشار داده؟
 

Graveworm

Registered User
تاریخ عضویت
23 می 2005
نوشته‌ها
1,071
لایک‌ها
12
محل سکونت
Tehran
قبول دارم که واضح نگفتم!

من یه گرید ویو دارم از لیست کاربران. وقتی مدیر سایت وارد پنل میشه لیست کاربران رو میبینه. هر کاربر چندین فیلد داره جلوش مثل نام، ایمیل، سطح دسترسی، تصویر و ....
به عنوان مثال میخوام در فیلد تصویر جلوی هر کاربر علاوه بر نمایش تصویر اون کاربر یه کنترل فایل آپلود با یه کنترل دکمه بذارم و در صورتی که مدیر بخواد تصویر کاربر رو عوض بکنه، کنترل آپلود را پر کرده و دکمه رو کلیک کنه.

حالا مشکل اینجاست که من چجوری باید به سیستم حالی کنم که مدیر سایت، فیلد فایل آپلود جلوی کدوم کاربر رو پر کرده و دکمه ارسال رو فشار داده؟
اینجوری باید حالی بشه؛ اگه نشد بزن تو سرش :دی

برای دکمه uploadbtn یه onclick تعریف کن مثلا uploadbtn_onclick
بعدش اینجوری:

کد:
  Protected Sub uploadbtn_onclick(ByVal sender As Object, ByVal e As EventArgs)

        Dim btn As Button = CType(sender, Button)
 Dim gvcell As DataControlFieldCell = CType(btn.Parent, DataControlFieldCell)

        Dim fu As FileUpload = CType(gvcell.FindControl("fileupload1"), FileUpload)
        Response.Write(fu.FileName.ToString() & " - " & fu.PostedFile.ContentType.ToString)


    End Sub

تقریبا مشخص هست
اگر نیازی به توضیح هست بفرمایید
 
Last edited:

H_R

مدیر بازنشسته
تاریخ عضویت
30 مارس 2005
نوشته‌ها
3,288
لایک‌ها
17
سن
39
محل سکونت
North Pole
من کلا به شما توصیه میکنم که برای یه همچین کاری لقه رو در سرتون نپیچونید؛ یه دکمه html بذارید که یه popup باز میکنه توی کوئری استرینگشم ID اون رو بذارید ، اینطوری هم راحت تره و هم باری که روی سرور میاد خیلی سبک تره !

نخواستی این یک نمونه ایونت اه که وقتی یک چک باکس رو روش کلیک میکنی فعال میشه فرض کن با چک باکس میخوای نقش ادمین رو با یه کاربری بدی یا ازش بگیری :

کد:
 Protected Sub ToggleAdministrator(ByVal sender As Object, ByVal e As EventArgs)
        Dim isAdministrator As CheckBox = CType(sender, CheckBox)
        Dim gvr As GridViewRow = CType(isAdministrator.Parent.Parent, GridViewRow)
        Dim userName As String = GridView1.DataKeys(gvr.RowIndex).Value
        Dim userInfo As MembershipUser = Membership.GetUser(userName)
        Const ROLE_NAME As String = "Administrator"
        If isAdministrator.Checked Then
            Roles.AddUserToRole(userName, ROLE_NAME)
        Else
            Roles.RemoveUserFromRole(userName, ROLE_NAME)
        End If
    End Sub

این مثال از اونجا جالبه برات که هم توش اندکس گرید ویو رو میگیره ، هم نام کاربری و هم مقدار یک فیلد توی یک فرم رو :)

ولی توصیم برای مورد شما همانا ساده سازی اه !
 

aref1364

Registered User
تاریخ عضویت
23 جولای 2005
نوشته‌ها
395
لایک‌ها
1
ممنون از دوستان. هر دو روش چیزایی داشت که نمیدونستم. اینجوری خیلی راحتتر شد کارم.

متشکرم
 

the wizard

کاربر تازه وارد
تاریخ عضویت
8 آگوست 2009
نوشته‌ها
31
لایک‌ها
0
سلام
من مي خوام تمام ستونهاي جدولDB داخل گريدويو نمايش داده بشه. ولي هر كار ميكنم عكس را نمايش نميده و به جاي عكس مينويسه system,byte[]‌ ميشه كمك كنيد.
 
بالا