1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
private sealed class InsertTemplate : ITemplate
{
void ITemplate.InstantiateIn(Control container)
{
Label FieldPTOStart = new Label();
FieldPTOStart.ID = "PTOStart";
FieldPTOStart.DataBinding += new EventHandler(FieldPTOStart_DataBinding);
container.Controls.Add(FieldPTOStart);
}
private void FieldPTOStart_DataBinding(Object sender, EventArgs e)
{
Label FieldPTOStartControl = (Label)sender;
FormView formViewContainer = (FormView)FieldPTOStartControl.NamingContainer;
DataRowView rowView = (DataRowView)formViewContainer.DataItem;
FieldPTOStartControl.Text = rowView["PTOStart"].ToString();
}
}
protected override void Render(HtmlTextWriter writer)
{
try
{
writer.Write("<br><h3>Request a new PTO</h3>");
// create DataSource for FormView
SPDataSource ds = new SPDataSource();
ds.List = SPContext.Current.Web.Lists["PTO"];
ds.DataSourceMode = SPDataSourceMode.List;
ds.Scope = SPViewScope.RecursiveAll;
// instanciate new FormView
FormView newPTOFV = new FormView();
// set default parameters
newPTOFV.AllowPaging = false;
newPTOFV.HeaderText = "HeaderText: New PTO";
newPTOFV.DefaultMode = FormViewMode.Insert;
// bind the FormView
newPTOFV.DataSource = ds;
newPTOFV.DataBind();
// create custom template
newPTOFV.InsertItemTemplate = new InsertTemplate();
writer.Write("Nb of records found in the datasource : " + newPTOFV.DataItemCount.ToString());
newPTOFV.RenderControl(writer);
}
catch (Exception GenericEx)
{
writer.Write("An error has occured: " + GenericEx.Message);
}
} |
Partager