PDA

View Full Version : سوال: اضافه کردن کنترل به GRidView



Mohandes2009
دوشنبه 12 اردیبهشت 1390, 11:43 صبح
سلام دوستان

من یه گرید ویو دارم که اطلاعاتش را از طریق کد نویسی بایند کردم به DataSource اون و تا اینجا مشکلی نیست و جواب میده
ی ستون ایجاد کردم و میخوام به تعداد ردیفی که دارم در اون ستون 3 تا کنترل مثلا ImageButton قرار بدم
به این روش کار کردم :


BoundField boundField = new BoundField();
boundField.DataField = "BirthDate";
boundField.HeaderText = "عملیات";
boundField.HtmlEncode = false;
GridView1.Columns.Add(boundField);

ImageButton ibDelet = new ImageButton();
ImageButton ibUpdate = new ImageButton();
ImageButton ibShow = new ImageButton();
GridView1.Rows[2].Cells.Add(ibDelet);
GridView1.Rows[2].Cells.Add(ibDelet);
GridView1.Rows[2].Cells.Add(ibDelet);


اما جواب نمیده!! کجا را اشتباه نوشتم ؟

Mohandes2009
دوشنبه 12 اردیبهشت 1390, 16:59 عصر
کسی بلد نیست؟:گریه:

L_eskandary
دوشنبه 12 اردیبهشت 1390, 17:56 عصر
ُلام دوست عزیز
ما که نمی تونیم به طور مستقیم یه link button رو به گرید ویو اضافه کنیم . خوب اگه به صورت wizard بود از طریق templatefield این کار رو انجام می دیم . حالا هم لازمه که یه templatefield به گرید اضافه کنیم و بعدش هم itemtemplate اون رو link button قرار بدیم .
موفق باشین.

Mohandes2009
دوشنبه 12 اردیبهشت 1390, 19:58 عصر
ُلام دوست عزیز
ما که نمی تونیم به طور مستقیم یه link button رو به گرید ویو اضافه کنیم . خوب اگه به صورت wizard بود از طریق templatefield این کار رو انجام می دیم . حالا هم لازمه که یه templatefield به گرید اضافه کنیم و بعدش هم itemtemplate اون رو link button قرار بدیم .
موفق باشین.
یعنی چجوری میشه بیشتر بگی یا نمونه کدی بزاری؟

karim orooji
دوشنبه 12 اردیبهشت 1390, 20:26 عصر
سلام

ما که نمی تونیم به طور مستقیم یه link button رو به گرید ویو اضافه کنیم
چرای میشه با کد نویسی به طور میستقیم هم این کار رو انجام داد

در گرید در قسمت GridView1_RowCreated میتونید کد ایجاد شی مورد نظرتون رو بنوسید

Protected Sub GridView1_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowCreated
If (e.Row.RowType = DataControlRowType.DataRow) Then
Dim lb1 As New LinkButton
lb1.ID = "lb1"
lb1.ID = "btnAdd"
lb1.Text = "اضافه"
lb1.CommandName = "sabt"
lb1.BorderStyle = BorderStyle.Solid
lb1.BorderWidth = New Unit(1, UnitType.Pixel)
lb1.BackColor = Color.FromArgb(Int32.Parse("FFC080", Globalization.NumberStyles.AllowHexSpecifier))
lb1.Attributes.Add("Style", "Font-Family:Tahoma; Font-Size:11px")
e.Row.Cells(0).Controls.Add(lb1)
End If
End Sub

این برنامه رو برای شما مثال زدم و ضمیمه کردم
سوالی بود مطرح کنید

Mohandes2009
دوشنبه 12 اردیبهشت 1390, 23:53 عصر
این کد یک ستون به گرید اضافه میکنه و در سطر های هر ردیف از اون این لیبل را ایجاد میکنه؟

L_eskandary
سه شنبه 13 اردیبهشت 1390, 00:55 صبح
دوست عزیز لینک زیر نحوه اضافه کردن TemplateField رو توضیح داده فک کنم مشکل شما رو حل کنه :
http://www.codeproject.com/KB/aspnet/create_template_columns.aspx

karim orooji
سه شنبه 13 اردیبهشت 1390, 20:32 عصر
این کد یک ستون به گرید اضافه میکنه و در سطر های هر ردیف از اون این لیبل را ایجاد میکنه؟
سلام
نه ستون به گرید اضافه نمیکنه
templatefield در گرید تعریف کردم
در بخش کد نویسیش گفتم که

e.Row.Cells(0).Controls.Add(lb1)
شی مرود نظر رو اضافه که به این ستونی که شمارش هست (0)
به ازای هر سطر برای شما یک لینک باتن ساخته میشه

Mohandes2009
سه شنبه 13 اردیبهشت 1390, 20:42 عصر
مرسی فک کنم مشکلم حل شده بازم سوالی داشتم میپرسم ممنون از توجه دوستان:قلب: