【C#練習】客商、車輛基礎資料畫面——完成心得
完成效果
功能相關
流水號
實現:客商編碼和車輛編碼使用流水號。 以字首’M’+0001類推進行自增。在Map的xml檔案中增加查詢最大Id的sql語句。 當新增一條新的資料時,呼叫此方法獲取這個表中的最大Id,對字串進行拼接即可得到一個string型別的值。拼接時可以使用 “C” + String.Format("{0:D" + B + “}”, A+1); 引數A:獲取的最大Id 引數B:補0後得到的位數 引數C:字首字母 其他:String.Format是用作格式化資料的函式。 詳解:https://www.cnblogs.com/babietongtianta/p/4958189.html
LookUpEdit控制元件
客商類別使用LookUpEdit控制元件,1表示進廠,2表示出廠(具體參照資料字典)寫入資料庫MerchantType欄位,在可編輯處以“進廠”“出廠”(具體參照資料字典)來顯示。 實現一:宣告一個list,用.Properties.DataSource方法匯入資料。ValueMember是實際要使用的值,.DisplayMember是在畫面上選中顯示的值。 宣告list:
public IList<TS_Dic_MerchantType> list; TS_Dic_MerchantType c1 = new TS_Dic_MerchantType(); c1.Id = 1; c1.MerchantType = "出廠"; TS_Dic_MerchantType c2 = new TS_Dic_MerchantType(); c2.Id = 2; c2.MerchantType = "進廠"; list = new BindingList<TS_Dic_MerchantType>(); list.Add(c1); list.Add(c2);
給LookUpEdit匯入資料:
txt_MerchantType.Properties.ValueMember ="Id" ;
txt_MerchantType.Properties.DisplayMember = "MerchantType";
txt_MerchantType.Properties.DataSource = list;
實現二: 聯合查詢資料字典表和Merchant表,獲得編號和客商類別漢字欄位,匯入LookUpEdit控制元件顯示。 其他: 獲取控制元件內容:LookUpEdit1.EditValue.ToString() 這裡獲取到的值是Properties.ValueMember設定的欄位。直接LookUpEdit1.EditValue獲取到的是object型別,需要ToString()。
後臺設定控制元件選擇情況:LookUpEdit1.ItemIndex = 0 0表示下標,表示第一個資料。
設定是否只讀:LookUpEdit1.Enabled=true/false
GridControl控制元件的時間型別顯示方式
預設YYYY-MM-DD顯示,需要增加時分秒的顯示。 這裡再Run Designer中的Columns選中時間型別的資料,DisplayFormat屬性的FormatType設定為DateTime,FormatString設定為G。
CheckBox控制元件
車輛基礎管理中是否超長(OverLength)用Checkbox編輯。 設定控制元件的狀態:ch_OverLength.Checked = false/true ;
判斷控制元件是否被選中:
if (ch_OverLength.CheckState == CheckState.Checked)
{
//..
}
其中ch_OverLength.CheckState 表示該控制元件的狀態,CheckState.Checked也是一種狀態,它們都不是單純的bool值。
設定是否只讀:ch_OverLength.Enabled = false/true ;
建立更新時間設定
建立日期修改日期: 在xml的sql語句中,建立日期在insert語句中給CreateDateTime呼叫Getdate()函式賦值。同理修改日期在update語句中給UpdateDateTime用Getdate()賦值。
GridControl控制元件排序問題
需要預設顯示為以建立時間由新到老的順序排序。 再RunDesigner的Columns中的建立時間欄位的SortMode、SortOrder屬性進行設定。 關於GridControl控制元件的分組排序問題詳解:https://blog.csdn.net/wangjinyang_123/article/details/41629433