|
|
|
buttonfield ระบุ id ได้หรือป่าวครับ buttonfield ใน gridview อยากจะกำหนด id อ่ะครับ่ทำยังไงอ่ะครับ |
|
|
|
|
|
|
|
ใช้ event onrowdatabound
ใช้ findcontrols แล้วจัดการเขียน javascript กับปุ่มนั้น
|
|
|
|
|
Date :
2010-05-18 09:33:44 |
By :
tungman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จะระบุ id ตรง findcontrols ยังไงเพราะตอนที่ประกาศ buttonfield ไม่มีให้ระบุ
แต่ระบุ envent onrowdatabound แล้ว
|
|
|
|
|
Date :
2010-05-18 09:40:56 |
By :
zicxnals |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่ต้องระบุมัน gen ให้เอง แค่อ้างให้ถูกก็พอ ใช้ clientid เพื่อให้ javascript ใช้ในฝั่ง client
|
|
|
|
|
Date :
2010-05-18 09:55:12 |
By :
tungman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MyButtonField.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MyButtonField.aspx.cs" Inherits="MyButtonField" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</div>
</form>
</body>
</html>
MyButtonField.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
public partial class MyButtonField : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BoundField columnID = new BoundField();
columnID.DataField = "ID";
columnID.HeaderText = "#";
BoundField columnName = new BoundField();
columnName.DataField = "Name";
columnName.HeaderText = "ชื่อ";
ButtonField columnButton = new ButtonField();
columnButton.ButtonType = ButtonType.Button;
columnButton.HeaderText = "Button";
columnButton.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
columnButton.Text = "Cmd";
GridView1.Columns.Add(columnID);
GridView1.Columns.Add(columnName);
GridView1.Columns.Add(columnButton);
}
GridView1.AutoGenerateColumns = false;
GridView1.Width = Unit.Parse("100%");
GridView1.DataKeyNames = new string[] { "ID" };
GridView1.DataSource = GetDataSource();
GridView1.RowDataBound += new GridViewRowEventHandler(GridView1_RowDataBound);
GridView1.DataBind();
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
/* จะเอาค่าไหนก็เลือกเอา */
/* Button1.ClientID = ID ฝั่ง client ของปุ่มในแต่ละ row ของ GridView1 */
/* GridView1.DataKeys[e.Row.RowIndex].Value = DataKey ที่กำหนดให้แต่ละ row ของ GridView1 */
Button Button1 = (Button)e.Row.Cells[2].Controls[0];
Button1.OnClientClick = string.Format("javascript:alert('{0}: {1}'); return false;", GridView1.DataKeys[e.Row.RowIndex].Value.ToString(), Button1.ClientID);
}
}
private DataTable GetDataSource()
{
DataTable Dt = new DataTable();
Dt.Columns.Add(new DataColumn("ID", System.Type.GetType("System.Int32")));
Dt.Columns.Add(new DataColumn("Name", System.Type.GetType("System.String")));
string[] dayName = new string[] { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };
for (int i = 0; i < dayName.Length; i++)
{
DataRow Dr = Dt.NewRow();
Dr["ID"] = (i + 1).ToString();
Dr["Name"] = dayName[i];
Dt.Rows.Add(Dr);
}
return Dt;
}
}
|
|
|
|
|
Date :
2010-05-18 11:05:23 |
By :
tungman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากครับ
|
|
|
|
|
Date :
2010-05-18 14:22:16 |
By :
zicxnals |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|