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