InputValueBox將彈出一個(gè)對(duì)話框,接受用戶輸入一個(gè)值或者一個(gè)區(qū)間以返回。如果正常操作點(diǎn)擊確定返回True,如果有異?;螯c(diǎn)取消則返回False.返回False時(shí),傳入變量傳出的值認(rèn)為無(wú)效。
InputValueBox有兩個(gè)重載,一種是針對(duì)單個(gè)輸入值的。
public Boolean
InputValueBox(ref Object inputVal,String Caption,String
information,InputValueTypeEnum InputType);
另外一種是針對(duì)2個(gè)輸入值,定義一個(gè)區(qū)間的。比如數(shù)值區(qū)間、時(shí)間區(qū)間。主要是用來(lái)獲得一個(gè)區(qū)間范圍,當(dāng)然就只能針對(duì)數(shù)值和日期型。
public Boolean
InputValueBox(ref Object inputValue1,ref Object inputValue2,String
Caption,String information,InputValueTypeEnum InputType);
參數(shù):
參數(shù)名稱 |
說(shuō)明 |
inputValue1 |
Object類型,要傳入的默認(rèn)值1,區(qū)間的開始值,最后用戶設(shè)置的值也以此變量返回。 |
inputValue2 |
Object類型,要傳入的默認(rèn)值2,區(qū)間的結(jié)束值,最后用戶設(shè)置的值也以此變量返回。 |
Caption |
對(duì)話框的標(biāo)題。 |
information |
對(duì)話框提示給用戶的信息。 |
InputType |
InputValueTypeEnum枚舉值之一,指示用戶輸入的數(shù)據(jù)類型。InputValueTypeEnum型枚舉包括以下可選值:
SingleString,單字符串型,適合只有一個(gè)輸入值的場(chǎng)景。 SingleNumber,單數(shù)值型,適合只有一個(gè)輸入值的場(chǎng)景。 SingleDateTime,單日期型,適合只有一個(gè)輸入值的場(chǎng)景。 BetweenNumber,數(shù)值區(qū)間輸入,適合只有兩個(gè)輸入值的場(chǎng)景。 BetweenDateTime,日期區(qū)間輸入,適合只有兩個(gè)輸入值的場(chǎng)景。 |
示例1:?jiǎn)螀?shù)錄入框
VB.Net |
'為了便于將最終的結(jié)果以值的形式傳遞出來(lái),這里必須定義一個(gè)Object類型,
'但是可以賦值一個(gè)初始值
Dim obj As Object=5
If Proj.InputValueBox(obj,"新增行","請(qǐng)輸入想要新增的行數(shù)",InputValueTypeEnum.SingleNumber) Then
If Proj.CurrentGrid IsNot Nothing Then
Proj.CurrentGrid.DataTableHelp.DataRows.AddNew(obj)
End If
End If
|
C#語(yǔ)言因?yàn)槭菑?qiáng)類型的,所以當(dāng)獲得object類型后,需要進(jìn)行一下類型轉(zhuǎn)換才可以正常使用。
C# |
// 為了便于將最終的結(jié)果以值的形式傳遞出來(lái),這里必須定義一個(gè)Object類型,
// 但是可以賦值一個(gè)初始值
object obj = 5;
if (Proj.InputValueBox(obj, "新增行", "請(qǐng)輸入想要新增的行數(shù)", InputValueTypeEnum.SingleNumber))
{
if (Proj.CurrentGrid != null)
{
Proj.CurrentGrid.DataTableHelp.DataRows.AddNew(obj.CType<int>()); //C#語(yǔ)言需要對(duì)Object類型進(jìn)行一下類型轉(zhuǎn)換。
}
}
|
示例2:2個(gè)參數(shù)錄入框
VB.Net |
'為了便于將最終的結(jié)果以值的形式傳遞出來(lái),這里必須定義為Object類型
Dim objValue1 As Object = DateTime.Now.GetFirstDayOfMonth(0) '獲得本月第一天的時(shí)間初始化給第一個(gè)參數(shù)
Dim objValue2 As Object = DateTime.Now.GetLastDayOfMonth(0) '獲得本月最后一天的時(shí)間初始化給第二個(gè)參數(shù)
If Proj.InputValueBox(objValue1, objValue2, "日期篩選", "請(qǐng)輸入要篩選的日期范圍:", InputValueTypeEnum.BetweenDateTime) Then '指定日期范圍輸入
If Proj.CurrentSmGrid IsNot Nothing Then
'根據(jù)返回值計(jì)算篩選條件
Dim strFilter As String = String.Format("{0}>=#{1}# and {0}<#{2}#", "日期", objValue1.ToString(), objValue2.ToString())
'對(duì)表數(shù)據(jù)進(jìn)行篩選
Proj.CurrentSmGrid.TableBindingSource.Filter = strFilter
End If
End If
|
C# |
// 為了便于將最終的結(jié)果以值的形式傳遞出來(lái),這里必須定義為Object類型,
object objValue1 = DateTime.Now.GetFirstDayOfMonth(0); //獲得本月第一天的時(shí)間初始化給第一個(gè)參數(shù)
object objValue2 = DateTime.Now.GetLastDayOfMonth(0); //獲得本月最后一天的時(shí)間初始化給第二個(gè)參數(shù)
if (Proj.InputValueBox(ref objValue1, ref objValue2, "日期篩選", "請(qǐng)輸入要篩選的日期范圍:", InputValueTypeEnum.BetweenDateTime)) //指定日期范圍輸入
{
if(Proj.CurrentSmGrid!=null)
{
//根據(jù)返回值計(jì)算篩選條件
string strFilter=string.Format("{0}>=#{1}# and {0}<#{2}#", "日期", objValue1.ToString(), objValue2.ToString());
//對(duì)表數(shù)據(jù)進(jìn)行篩選
Proj.CurrentSmGrid.TableBindingSource.Filter=strFilter;
}
}
|