目前的右側長形列表中的欄位是固定的(約2~3個欄位)
將資料拖拉過去時,會截取部份欄位的資訊放在目的地的DataGridView
在挑欄位的部份是寫死的
若之後要作成讓右側長形列表可以由使用者自行選取欲顯示的欄位時
勢必要將挑選欄位顯示的部份全部改掉
為搭配往後提供的功能 (即"使用者自選長形列表顯示欄位")
初步想到的做法為 :
將全部欄位填入長形列表的DataGridView
僅將使用者選擇的欄位之Visible設為true
在拖曳時,亦會將所有資料拖拉過去
再從中挑選要顯示的欄位
以上做法應可滿足需求
但在現階段為因應時程要求
暫不提供"使用者自選長形列表顯示欄位"之功能
故亦不先做此修改
特此提醒
2010年3月16日 星期二
2010年3月15日 星期一
精靈A在新增或複製OS時,若size超過Storage
在新增或複製OS的頁面,使用者按下一步時檢查Stoarge的大小 *註
若超出範圍,則不給過(有錯誤標示)
註:在DB的Storage table有一個 Current_Usage欄位,可得知Storage現在使用的大小,經與Willy確認這用的是Storage的實際使用值
2010年3月8日 星期一
精靈A Step 3的Pnl3_DgViewOs,新增OS後,會有無法拉右側的 Bar 到最下面
如題
在新增數個OS後偶會發生,未解決
此問題乃是因為防呆工作沒有做好,填入了名字重複的資料,導致 DgView的動作失常
持續觀察中。
上述也是原因之一,但有時也會在不知何原因下產生如此狀況
2010年3月4日 星期四
User, PC(HBA), OS 所需要顯示的詳盡資料,應該包含哪些?
User資訊
是否停用
是否Online
User Name
User Group
Privilege身份權限是否可安裝OS
PC Name用哪一台電腦登入
Login Time登入時間
Logoug Time登出時間
Email
UD Size
UD 存於哪個Storage
PSD存於哪個Storage
專屬OS個數
PC(HBA)
Remember Account 記住前次使用帳號
OS Name
容量
分享模式
快取大小
描述
OS存於哪個Storage
回溯數(時光還原點、發佈)
專屬使用者
配給群組數
線上使用者數
是否停用
是否Online
User Name
User Group
Privilege身份權限是否可安裝OS
PC Name用哪一台電腦登入
Login Time登入時間
Logoug Time登出時間
UD Size
UD 存於哪個Storage
PSD存於哪個Storage
專屬OS個數
PC(HBA)
是否停用
是否Online
是否加入Domain
PC Name
屬於PC Group
Image Version
BIOS Version
IP
MAC
UD Size
UD 存於哪個Storage
PSD存於哪個Storage
誰在用這台電腦 User Name
Remember Account 記住前次使用帳號
OS
是否停用
OS Name
容量
分享模式
快取大小
描述
OS存於哪個Storage
回溯數(時光還原點、發佈)
專屬使用者
配給群組數
線上使用者數
2010年3月2日 星期二
Default Pc(User) Groupt For DB
在DB中
HBA_GRP裡會有一筆HG_NAME為"Default Pc Group"的資料
未配置的HBA,皆屬於此群組
USR_GRP裡會有一筆UG_NAME為"Default User Group"的資料
未配置的USR,皆屬於此群組
HBA_GRP裡會有一筆HG_NAME為"Default Pc Group"的資料
未配置的HBA,皆屬於此群組
USR_GRP裡會有一筆UG_NAME為"Default User Group"的資料
未配置的USR,皆屬於此群組
對GUI在對PG變動PC及OS時處理相關PSD的演算法
針對GUI在對PG變動PC及OS時處理相關PSD的演算法,感謝各位的撥空參與討論並提供寶貴意見。最後將原有的兩個function合併成為一個不會有重覆步驟的Function。
ProcessPSD_OsPcChangeGroup( 原有OsList[ ], 現有OsList[ ], 原有PcList[ ], 現有PcList[])
{
先利用傳進來的參數得出
要刪除的 Os
新增的 Os
要刪除的 Pc
新增的 Pc
新舊 List 的交集 Os
運算法如下
要刪除的Os x原有PcList 刪Psd
新增的Os x新PcList 建Psd
交集的Os x新增的Pc 建Psd
交集的Os x要刪除的Pc 刪Psd
}
2010年3月1日 星期一
如何判斷輸入的是否是中文或全型字-由Steve研發出來的
private bool checkPwdInfo(string pwd)
{
//System.Console.WriteLine(pwd);
if (pwd.Length > 0)
{
char[] str = pwd.ToCharArray();
for (int i = 0; i < str.Length; i++)
{
int asciiNum = Convert.ToInt32(str[i]);
System.Console.WriteLine((asciiNum.ToString()));
if (asciiNum == 32) return false; //空白
if (asciiNum > 128) return false;
}
}
return true;
}
{
//System.Console.WriteLine(pwd);
if (pwd.Length > 0)
{
char[] str = pwd.ToCharArray();
for (int i = 0; i < str.Length; i++)
{
int asciiNum = Convert.ToInt32(str[i]);
System.Console.WriteLine((asciiNum.ToString()));
if (asciiNum == 32) return false; //空白
if (asciiNum > 128) return false;
}
}
return true;
}
在GUI上關於PSD的建立邏輯討論
1. DB的Sanpshot table中,將LID與VerID兩者合設為一個Key,成為一個防護措施。
2. 精靈中,若再新增PG時加入的PC已經擁有HD,則在畫面出現提示Lable告知使用者若繼續,則該PC的HD將被刪除並套用現在新的設定。
3. 定義:刪、建PSD: Group底下所有的Pc(User),為他們建立(刪除)與此OS相關的PSD
4. 精靈中,OS的變化
A. 新建OS則會
建立新的 LUN、SS、VMDK
Call ProcessPsd_OsChangeGroup()
B. 選現有OS
Call ProcessPsd_OsChangeGroup()
C. 勾掉OS
Call ProcessPsd_OsChangeGroup()
5. 精靈中,PC的變化
A. 新建PG
HBA_GRP (new)
不加PC à不做事
加PC
HBA(update)
檢查有無指派UD(HD)
有則
LUN(new)
SS(new)
VMDK(new)
無à不做事
Call ProcessPsd_PcChangeGroup()
原有PC勾掉
HBA(update)
Call ProcessPsd_PcChangeGroup()
B. 現有PG
不加PC à不做事
加PC
HBA(update)
Call ProcessPsd_PcChangeGroup()
原有PC勾掉
HBA(update)
Call ProcessPsd_PcChangeGroup()
6. 建立兩個Function
A. ProcessPsd_PcChangeGroup(原有PC List [ ], 新PC List [ ], 原有OS List[ ])
{
若PC List中,原有的PC在新的List中沒有,
若原OS已發布則Call水晶的function砍PSD
若無則不做事
若PC List中,原沒有的PC在新的List中有,
若原OS已發布則Call水晶的function建PSD
若無則不做事
}
B. ProcessPsd_OsChangeGroup(原有OS List [ ], 新OS List [ ], 新PC List[ ])
{
如OS List中,原有OS在新的List中沒有,則:
砍GRP_LUN
檢查是否已發布
已發布,則砍PSD,PC Admin PSD
未發布,則不做事
如OS List中,原沒有OS,在新的List中有,則:
建GRP_LUN
檢查是否已發布
已發布,則建PSD,PC Admin PSD
未發布,則做事
Call水晶的function來建(砍)PSD
}
7. 在Pure by mac情況下(如精靈A),新建的PG必須與PBMGRP (User group)有關連,在Grp_relation table的PCSIDEOS要設為 true( 1 )
訂閱:
文章 (Atom)