我想创建基于Windows窗体的应用程序,它接受两个参数的详细设置,月份和年份。用户可以选择动态选择年份和月份,然后根据这些参数生成没有数据库的报告。
有人可以建议如何接受月份和年份范围的参数(例如,范围是2015年1月到2016年1月,那么用户可以输入值范围从2015年1月,2015年2月,.........,2016年1月)然后根据这两个参数会有报告吗?
答案 0 :(得分:2)
您可以使用jQuery datepicker并将年份限制为仅限2015-2016。
以下是示例代码:
<p>Date:
<input type="text" id="datepicker" />
</p>
$(function () {
$("#datepicker").datepicker({
changeMonth: true,
yearRange: '2015:2016',
changeYear: true
});
});
注意:如果您只想要月份和日期,只需创建一个下拉菜单并对该选项进行硬编码即可。我不确定你在问什么:)
这是Fiddler链接:
https://jsfiddle.net/v2verma1990/zsz8Lgb2/
编辑后我认为您需要的是动态文本框来显示月份和年份。看到这段代码:
<html>
<head runat="server">
<title></title>
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
function GetDynamicTextBox(value) {
return '<input name = "DynamicTextBox" class="dynamic" type="text" value = "' + "mymonthname" + '" />' +
'<input name = "DynamicTextBox1" class="dynamic" type="text" value = "' + "myYearname" + '" />' +
'<input type="button" value="Remove" onclick = "RemoveTextBox(this)" />'
}
function AddTextBox() {
var div = document.createElement('DIV');
div.innerHTML = GetDynamicTextBox("");
document.getElementById("TextBoxContainer").appendChild(div);
}
function RemoveTextBox(div) {
document.getElementById("TextBoxContainer").removeChild(div.parentNode);
}
// function RecreateDynamicTextboxes() {
// var values = "vishal";
// if (values != null) {
// var html = "";
// for (var i = 0; i < values.length; i++) {
// html += "<div>" + GetDynamicTextBox(values[i]) + "</div>";
// }
// document.getElementById("TextBoxContainer").innerHTML = html;
// }
// }
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="TextBoxContainer" style="text-align: center;" class="step" >
</div>
<div>
<div style="text-align: center;" id="setPrinteraxcis1">
<input id="btnAdd" type="button" value="Add" onclick="AddTextBox()" class="ANPClass"/>
</div>
</div>
</form>
</body>
</html>
PS :我已经将输入作为字符串添加到文本框中,您可以从任何其他来源(例如textbox1.text)获取该输入,并在按钮单击时调用,根据需要进行修改。
答案 1 :(得分:1)
对于WinForms和ASP.NET,方法类似,但控件的方式不同。
但是,Windows Forms应用程序的工具箱中有DateTimePicker。它具有Format
属性,您需要将其设置为Custom
。然后另一个属性 - CustomFormat
- 需要设置为MM-yyyy
来显示,并为用户提供仅选择几个月和几年的机会。
如果你使用ASP.NET,这意味着你需要一个基于HTML的控件来完成这项工作。有很多这些,他们是免费的。我个人使用Twitter Bootstrap或jQuery UI。这两个都有加载项。