PDA

View Full Version : سوال: dynamic grid with template field



niloofar norouzi
دوشنبه 29 فروردین 1390, 21:46 عصر
سلام
من می خوام dynamic gridview ایجاد کنم که با datatable پر شده و یک ستون از نوع
ImageButton داشته باشد.
اگر کاربر روی ImageButton کلیک کند یک Function جاوااسکریپتی اجرا شود
ممنون میشم راهنمایی بفرمایید

karim orooji
دوشنبه 29 فروردین 1390, 21:55 عصر
سلام
این برنامه رو دانلود کنید
شبیه اون چیزی که شما میخواهید (http://barnamenevis.org/showthread.php?248285-دانلود-برنامه-گرید-با-قابلیت-ذخیره-،حذف-،ویرایش-و-اطلاعات-و-عکس)
ولی در این برنامه زمانی که موس روی عکس میشه رویداد اتفاق میفته

niloofar norouzi
دوشنبه 29 فروردین 1390, 22:39 عصر
dynamic نبود

niloofar norouzi
دوشنبه 29 فروردین 1390, 23:10 عصر
GridView gv = new GridView();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{

DataTable dt = new DataTable();
dt.Columns.Add("ID");
dt.Columns.Add("Name");
dt.Columns.Add("Age");
DataRow dataRow;
dataRow = dt.NewRow();
int i2 = 1;
for (int i = 0; i < dataRow.Table.Columns.Count; i++)
{
dataRow[i] = "ss";
i2++;
}
dt.Rows.Add(dataRow);
PlaceHolder1.Controls.Add(gv);
gv.DataSource = dt;
gv.DataBind();
gv.RowCreated += gv_RowCreated;
gv.RowDataBound += gv_RowDataBound;

}
}
protected void gv_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
ImageButton ib = new ImageButton();
ib.ID = "ImageButton1";
ib.ImageUrl = ResolveClientUrl("~/url-to-your-image");
ib.CommandName = "ImageButton";
e.Row.Cells[0].Controls.Add(ib);


}
}
protected void gv_RowDataBound(object sender, GridViewRowEventArgs e)
{
System.Data.DataRowView drv;
drv = (System.Data.DataRowView)e.Row.DataItem;
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (drv != null)
{
ImageButton ib =
(ImageButton)e.Row.FindControl("ImageButton1");
String stringValue2 = drv[1].ToString();
ib.CommandArgument = stringValue2;

}
}
}
protected void Page_Init(object sender, EventArgs e)
{

gv = new GridView();
gv.ID = "GridView1";
PlaceHolder1.Controls.Add(gv);
gv.AutoGenerateColumns = false;
TemplateField tf = new TemplateField();
tf.HeaderText = "Template Column1";

gv.Columns.Add(tf);
gv.RowCreated += gv_RowCreated;
gv.RowDataBound += gv_RowDataBound;

}

private void ImageButton_Click(ImageButton ib)
{
Response.Write(ib.CommandArgument);
}
من ا کد بالا استفاده کردم اما فقط imagebutton رو نشون میده

azam2005
شنبه 26 فروردین 1391, 10:42 صبح
می شه کمی راجه به dynamic field درون گرید ویو توضیح دهید.به چه دردی می خوره؟