protected
void
Page_Init(
object
sender, EventArgs e)
{
DataTable dt =
new
DataTable();
dt.Columns.Add(
"ID"
,
typeof
(Int32));
dt.Columns.Add(
"Name"
,
typeof
(
string
));
dt.Rows.Add(1,
"Name1"
);
dt.Rows.Add(2,
"Name2"
);
dynamic data =
new
[] {
new
{ ID = 1, Name =
"name1"
},
new
{ ID = 2, Name =
"name2"
},
new
{ ID = 3, Name =
"name3"
},
new
{ ID = 4, Name =
"Name4"
},
new
{ ID = 5, Name =
"name5"
}
};
PreparePaxGrid(data, dt);
}
protected
void
Page_Load(
object
sender, EventArgs e)
{
}
protected
void
dgPassanger_ItemDataBound(
object
sender, GridItemEventArgs e)
{
}
protected
void
PreparePaxGrid(dynamic data, DataTable dt)
{
try
{
// Adding Dynamic Columns
GridBoundColumn boundColumn;
GridTemplateColumn templateColumn;
boundColumn =
new
GridBoundColumn();
boundColumn.DataField =
"ID"
;
boundColumn.HeaderText =
"ID from dyanamic"
;
dgPassanger.MasterTableView.Columns.Add(boundColumn);
boundColumn =
new
GridBoundColumn();
boundColumn.DataField =
"Name"
;
boundColumn.HeaderText =
"Name from dyanamic"
;
dgPassanger.MasterTableView.Columns.Add(boundColumn);
for
(
int
i = 0; i < 2; i++)
{
templateColumn =
new
GridTemplateColumn();
templateColumn.HeaderText =
"ID "
+ i.ToString();
templateColumn.ItemTemplate =
new
GridTemplate(i);
// Bind Dropdown List
templateColumn.UniqueName =
"FlightPurpose"
+ i;
dgPassanger.MasterTableView.Columns.Add(templateColumn);
}
dgPassanger.MasterTableView.AutoGenerateColumns =
false
;
dgPassanger.DataSource = data;
dgPassanger.DataBind();
}
catch
(Exception ex)
{
}
}
private
class
GridTemplate : ITemplate
{
protected
DropDownList ddList;
private
int
_legId = 0;
public
GridTemplate(
int
legId)
{
_legId = legId;
}
public
void
InstantiateIn(System.Web.UI.Control container)
{
ddList =
new
DropDownList();
ddList.ID =
"ddlFP"
+ _legId.ToString();
ddList.DataBinding +=
new
EventHandler(ddList_DataBinding);
container.Controls.Add(ddList);
}
protected
void
ddList_DataBinding(
object
sender, EventArgs e)
{
DropDownList dl = (DropDownList)sender;
GridDataItem container = (GridDataItem)dl.NamingContainer;
dl.Items.Add(
new
ListItem(
"1"
,
"1"
));
dl.Items.Add(
new
ListItem(
"2"
,
"2"
));
//dl.AutoPostBack = true;
//dl.SelectedIndexChanged += new EventHandler(DisplayDDList_IndexChanged);
}
}
protected
void
Button1_Click(
object
sender, EventArgs e)
{
foreach
(GridDataItem item
in
dgPassanger.MasterTableView.Items)
{
for
(
int
i = 0; i < 2; i++)
{
DropDownList ddl = item.FindControl(
"ddlFP"
+ i.ToString())
as
DropDownList;
// access your DropDownList here
}
}
}