如何动态创建 Sharepoint 组合框?
How to dynamically create Sharepoint ComboBoxes?
我在我的 Sharepoint 项目中使用 C# 动态创建文本框,如下所示:
boxRequestDate = new TextBox
{
CssClass = "dplatypus-webform-field-input",
Text = DateTime.Today.ToShortDateString()
};
...但有时我也需要组合框(或它们的 HTML 等价物)。这是怎么做到的? "ComboBox" 在 Sharepoint 中未被识别。当然有一种方法可以创建一个 "acts like" 组合框的 TextBox(文本类型的输入元素)。
具体来说,我需要创建用作日期元素(没有双关语意)的控件,即 "Month" 组合框,其中包含 vals January...December,"Days of Month"控件包含 1..[28...31] 的值,以及一个 "Year" 组合框,比如 2000 到 2016.
这是如何在 C# 中以编程方式完成的?
更新
结果可能是这个或类似的东西会起作用:
boxReturnDateMonth = new TextBox
{
CssClass = "dplatypus-webform-field-input",
TextMode = TextBoxMode.MultiLine,
Rows = 12
};
boxReturnDateMonth.Text.Insert(0, "Jan");
boxReturnDateMonth.Text.Insert(1, "Feb");
boxReturnDateMonth.Text.Insert(2, "Mar");
boxReturnDateMonth.Text.Insert(3, "Apr");
boxReturnDateMonth.Text.Insert(4, "May");
boxReturnDateMonth.Text.Insert(5, "Jun");
boxReturnDateMonth.Text.Insert(6, "Jul");
boxReturnDateMonth.Text.Insert(7, "Aug");
boxReturnDateMonth.Text.Insert(8, "Sep");
boxReturnDateMonth.Text.Insert(9, "Oct");
boxReturnDateMonth.Text.Insert(10, "Nov");
boxReturnDateMonth.Text.Insert(11, "Dec");
IOW,使用文本框,但将其 TextMode 设置为多行,计算行数(条目),然后添加这些条目。
这似乎是这样做的方法:
DropDownList ddlReturnDateMonth = new DropDownList();
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Jan", "1"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Feb", "2"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Mar", "3"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Apr", "4"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("May", "5"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Jun", "6"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Jul", "7"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Aug", "8"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Sep", "9"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Oct", "10"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Nov", "11"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Dec", "12"));
DropDownList ddlReturnDateMonth = new DropDownList();
ddlReturnDateMonth.CssClass = "dplatypus-webform-field-input";
ddlReturnDateMonth.Items.Add(new ListItem("Jan", "1"));
我在我的 Sharepoint 项目中使用 C# 动态创建文本框,如下所示:
boxRequestDate = new TextBox
{
CssClass = "dplatypus-webform-field-input",
Text = DateTime.Today.ToShortDateString()
};
...但有时我也需要组合框(或它们的 HTML 等价物)。这是怎么做到的? "ComboBox" 在 Sharepoint 中未被识别。当然有一种方法可以创建一个 "acts like" 组合框的 TextBox(文本类型的输入元素)。
具体来说,我需要创建用作日期元素(没有双关语意)的控件,即 "Month" 组合框,其中包含 vals January...December,"Days of Month"控件包含 1..[28...31] 的值,以及一个 "Year" 组合框,比如 2000 到 2016.
这是如何在 C# 中以编程方式完成的?
更新
结果可能是这个或类似的东西会起作用:
boxReturnDateMonth = new TextBox
{
CssClass = "dplatypus-webform-field-input",
TextMode = TextBoxMode.MultiLine,
Rows = 12
};
boxReturnDateMonth.Text.Insert(0, "Jan");
boxReturnDateMonth.Text.Insert(1, "Feb");
boxReturnDateMonth.Text.Insert(2, "Mar");
boxReturnDateMonth.Text.Insert(3, "Apr");
boxReturnDateMonth.Text.Insert(4, "May");
boxReturnDateMonth.Text.Insert(5, "Jun");
boxReturnDateMonth.Text.Insert(6, "Jul");
boxReturnDateMonth.Text.Insert(7, "Aug");
boxReturnDateMonth.Text.Insert(8, "Sep");
boxReturnDateMonth.Text.Insert(9, "Oct");
boxReturnDateMonth.Text.Insert(10, "Nov");
boxReturnDateMonth.Text.Insert(11, "Dec");
IOW,使用文本框,但将其 TextMode 设置为多行,计算行数(条目),然后添加这些条目。
这似乎是这样做的方法:
DropDownList ddlReturnDateMonth = new DropDownList();
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Jan", "1"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Feb", "2"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Mar", "3"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Apr", "4"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("May", "5"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Jun", "6"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Jul", "7"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Aug", "8"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Sep", "9"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Oct", "10"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Nov", "11"));
ddlReturnDateMonth.Items.Add(new System.Web.UI.WebControls.ListItem("Dec", "12"));
DropDownList ddlReturnDateMonth = new DropDownList();
ddlReturnDateMonth.CssClass = "dplatypus-webform-field-input";
ddlReturnDateMonth.Items.Add(new ListItem("Jan", "1"));