|
GridView 的Insert 事件要寫在那裡,如何去判斷兩個欄位結束日期是否比開始日期還要大? |
觀看回應
|
|
可以通過WebGridView的RowInserting來寫 WebGridView1_RowInserting(Object sender, GridViewUpdateEventArgs e) { DateTime timestart = e.NewValues["timestart"]; DateTime timeend = e.NewValues["timeend"]; if(timeend < tiemstart) { e.Cancel = true; } }
|
|
|
|
請問WebValidate可以檢查欄位的字數嗎?例如此欄位只能輸入10個byte,超過就顯示訊息,有這功能嗎? |
觀看回應
|
|
可以使用自定義方法實現,如CheckBytes(); public bool CheckBytes(string value) { if(value.Length > 10)//如果是英文可以使用這個方法,中文的話要根據編碼不同另行考慮 { return false; } }
|
|
|
|
如何做到資料庫欄位限制只能輸入整數值,不能為小數,若為非整數資料會報錯誤訊息? |
觀看回應
|
|
Windows可以通過KeyPress的處理來避免,比如在TextBox的Validating的事件寫程式處理,若是infoDataGridView可以在GridView的CellValidating事件中判斷。當然也可以用DefaultValidate來處理,這個也比較簡單可靠,還可以使用VS自身的MaskedTextBox。
|
|
|
|
可否做到user讀取資料時不能跨廠查詢資料,但對某些User又可以開放。 |
觀看回應
|
|
這個功能可以使用InfoCommand的安全管理功能,如果你的table有欄位存放廠別這個資料,那只要設定InfoCommand的SiteControl=true,SiteField設為你存放廠別的欄位名稱,比如SiteNO。這樣,你只要在登陸或者網頁開啟的時候,設定CliUtils.fSiteCode=目前廠別,這樣無論怎樣查詢資料,都會自動在查詢資料的Where與劇中自動加入where SiteNO = 目前廠別的語句,另外,如果你想讓某些User例外時,可以在InfoCommand的SecExcept欄位中設定例外的群組部分,這樣隸屬這個群組的User將不受此SiteControl管制。
|
|
|
|
資料表中有不同廠區的資料在一起,如何依不同的User帳號個別顯示與維護? |
觀看回應
|
|
提供2種方法,請參考: 1.設定Server端InfoCommand的SiteControl為true,並設定SiteFieldName為廠區代號的欄位名稱。這樣,在EEPNetClient登錄的時候,只要去控制這個Login者的廠區代號,就可自動過濾InfoCommand所傳回的資料,如: CliUtils.fSiteCode = "A"; // 設定該User的廠區資訊 在開啟資料的時候,系統會自動下達: select * from table where sitefield='A' 2.第二種方式是利用Menu Utility中的Parameters來控制,就是不同廠區開啟不同的Menu,然后每個menu可以設定Item Parameters參數比如A,這樣,在Form開啟以及查詢的時候,用程式取得 Form.ItemParameters內容去控制InfoDataSet.Setwhere()也可以達到以上的效果。
|
|
|