InputValueBox将弹出一个对话框,接受用户输入一个值或者一个区间以返回。如果正常操作点击确定返回True,如果有异常或点取消则返回False.返回False时,传入变量传出的值认为无效。
InputValueBox有两个重载,一种是针对单个输入值的。
public Boolean
InputValueBox(ref Object inputVal,String Caption,String
information,InputValueTypeEnum InputType);
另外一种是针对2个输入值,定义一个区间的。比如数值区间、时间区间。主要是用来获得一个区间范围,当然就只能针对数值和日期型。
public Boolean
InputValueBox(ref Object inputValue1,ref Object inputValue2,String
Caption,String information,InputValueTypeEnum InputType);
参数:
参数名称 |
说明 |
inputValue1 |
Object类型,要传入的默认值1,区间的开始值,最后用户设置的值也以此变量返回。 |
inputValue2 |
Object类型,要传入的默认值2,区间的结束值,最后用户设置的值也以此变量返回。 |
Caption |
对话框的标题。 |
information |
对话框提示给用户的信息。 |
InputType |
InputValueTypeEnum枚举值之一,指示用户输入的数据类型。InputValueTypeEnum型枚举包括以下可选值:
SingleString,单字符串型,适合只有一个输入值的场景。 SingleNumber,单数值型,适合只有一个输入值的场景。 SingleDateTime,单日期型,适合只有一个输入值的场景。 BetweenNumber,数值区间输入,适合只有两个输入值的场景。 BetweenDateTime,日期区间输入,适合只有两个输入值的场景。 |
示例1:单参数录入框
VB.Net |
'为了便于将最终的结果以值的形式传递出来,这里必须定义一个Object类型,
'但是可以赋值一个初始值
Dim obj As Object=5
If Proj.InputValueBox(obj,"新增行","请输入想要新增的行数",InputValueTypeEnum.SingleNumber) Then
If Proj.CurrentGrid IsNot Nothing Then
Proj.CurrentGrid.DataTableHelp.DataRows.AddNew(obj)
End If
End If
|
C#语言因为是强类型的,所以当获得object类型后,需要进行一下类型转换才可以正常使用。
C# |
// 为了便于将最终的结果以值的形式传递出来,这里必须定义一个Object类型,
// 但是可以赋值一个初始值
object obj = 5;
if (Proj.InputValueBox(obj, "新增行", "请输入想要新增的行数", InputValueTypeEnum.SingleNumber))
{
if (Proj.CurrentGrid != null)
{
Proj.CurrentGrid.DataTableHelp.DataRows.AddNew(obj.CType<int>()); //C#语言需要对Object类型进行一下类型转换。
}
}
|
示例2:2个参数录入框
VB.Net |
'为了便于将最终的结果以值的形式传递出来,这里必须定义为Object类型
Dim objValue1 As Object = DateTime.Now.GetFirstDayOfMonth(0) '获得本月第一天的时间初始化给第一个参数
Dim objValue2 As Object = DateTime.Now.GetLastDayOfMonth(0) '获得本月最后一天的时间初始化给第二个参数
If Proj.InputValueBox(objValue1, objValue2, "日期筛选", "请输入要筛选的日期范围:", InputValueTypeEnum.BetweenDateTime) Then '指定日期范围输入
If Proj.CurrentSmGrid IsNot Nothing Then
'根据返回值计算筛选条件
Dim strFilter As String = String.Format("{0}>=#{1}# and {0}<#{2}#", "日期", objValue1.ToString(), objValue2.ToString())
'对表数据进行筛选
Proj.CurrentSmGrid.TableBindingSource.Filter = strFilter
End If
End If
|
C# |
// 为了便于将最终的结果以值的形式传递出来,这里必须定义为Object类型,
object objValue1 = DateTime.Now.GetFirstDayOfMonth(0); //获得本月第一天的时间初始化给第一个参数
object objValue2 = DateTime.Now.GetLastDayOfMonth(0); //获得本月最后一天的时间初始化给第二个参数
if (Proj.InputValueBox(ref objValue1, ref objValue2, "日期筛选", "请输入要筛选的日期范围:", InputValueTypeEnum.BetweenDateTime)) //指定日期范围输入
{
if(Proj.CurrentSmGrid!=null)
{
//根据返回值计算筛选条件
string strFilter=string.Format("{0}>=#{1}# and {0}<#{2}#", "日期", objValue1.ToString(), objValue2.ToString());
//对表数据进行筛选
Proj.CurrentSmGrid.TableBindingSource.Filter=strFilter;
}
}
|