?? 計算新增和刪除的標志(算法).txt
字號:
//算法(核心算法)
//計算需要刪除的記錄并執行
private void CalcDelRole()
{
DataTable dt=(DataTable)Session["Old_Select_Role_List"];//恢復舊的選擇列表
string[]delFlags=new string[dt.Rows.Count]; //動態創建字符數組(大小為舊選擇個數)
for(int k=0;k<delFlags.Length;k++)//初始華字符數組
delFlags[k]="false";//默認不刪除
for(int i=0;i<dt.Rows.Count;i++)//用戶舊選擇的列表循環
{
string roleid=dt.Rows[i]["Role_ID"].ToString();
for(int j = 0; j < clRoleList.Items.Count; j++)//用戶新選擇的列表循環
{
if(clRoleList.Items[j].Value==roleid&&(!clRoleList.Items[j].Selected))//用戶沒選擇,但舊選擇中存在
{
delFlags[i]="true";//不變
break;
}
}
}
//刪除(根據刪除標志)
for(int i=0;i<dt.Rows.Count;i++)//用戶舊選擇的列表循環
{
if(delFlags[i]=="true")
{
//刪除
string user_id=dt.Rows[i]["User_ID"].ToString();
string role_id=dt.Rows[i]["Role_ID"].ToString();
}
}
}
//計算需要新增的記錄并執行
private void CalcAddRole()
{
DataTable dt=(DataTable)Session["Old_Select_Role_List"];//恢復舊的選擇列表
string[]AddFlags=new string[clRoleList.Items.Count]; //動態創建字符數組(大小新選擇個數)
for(int k=0;k<AddFlags.Length;k++)//初始華字符數組
AddFlags[k]="true";//默認都有是新增
for(int j = 0; j < clRoleList.Items.Count; j++)//用戶新選擇的列表循環
{
for(int i=0;i<dt.Rows.Count;i++)
{
string roleid=dt.Rows[i]["Role_ID"].ToString();
if(clRoleList.Items[j].Value==roleid||(!clRoleList.Items[j].Selected))//用戶沒選擇或舊選擇中存在
{
AddFlags[j]="false";//不變
break;
}
}
}
//新增(根據新增標志)
for(int j = 0; j < clRoleList.Items.Count; j++)//用戶新選擇的列表循環
{
if(AddFlags[j]=="true")//有新增標志,用戶已勾選
{
//新增
string user_id=HiddenID.Value;
string role_id=clRoleList.Items[j].Value;
string company_id=HiddenCI.Value;
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -