📄 fjsyhwhgj.cs
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Sybase.DataWindow;
using Qeb.Support;
using Qeb.Support.Common;
using Qeb.DBProxy;
using Qeb.Control;
namespace Qeb.GY
{
public partial class FJsYhWhGj : Qeb.Control.FBase
{
public FJsYhWhGj()
{
InitializeComponent();
}
private string m_Jsmc;
private string m_JsId;
private bool m_YyCdXz = false;
//应用菜单
private QDataStore m_DsYyCd = null;
//某个角色所拥有的菜单权限
private QDataStore m_DsJsCd = null;
//角色权限
private QDataStore m_DsJsQx = null;
private bool m_TabControlSelected = true;
public void SetJsMsg(string jsmc, string jsid)
{
this.m_Jsmc = jsmc;
this.m_JsId = jsid;
}
private void FJsYhWhGj_Load(object sender, EventArgs e)
{
this.Text = "对角色:" + m_Jsmc + "进行用户分配";
this.DWjsyyyh.LibraryList = PBL.GyPbl;
this.DWjsyyyh.DataWindowObject = GyDataObjects.D_Gy_Jsyyyh;
this.DWjswyyh.LibraryList = PBL.GyPbl;
this.DWjswyyh.DataWindowObject = GyDataObjects.D_Gy_Jswyyyh;
this.DWjsyyyh.InitUI();
this.DWjswyyh.InitUI();
try
{
DWjsyyyh.SetProperty("DataWindow.ReadOnly", "Yes");
DWjswyyh.SetProperty("DataWindow.ReadOnly", "Yes");
}
catch (Exception ex)
{
MessageBox.Show("设置数据窗口只读属性发生异常:" + ex.Message);
}
this.RetrieveData();
//初始化应用菜单分类
this.InitYyCd();
}
private void RetrieveData()
{
try
{
DbProxyClient proxy = App.DbProxy;
proxy.Clear();
proxy.AddRetrieveParam(":p_jsid", m_JsId);
proxy.Retrieve(this.DWjsyyyh);
proxy.Clear();
proxy.Retrieve(this.DWjswyyh);
}
catch (Exception ex)
{
MessageBox.Show("检索数据出错:" + ex.Message, MsgTitle.Error);
}
try
{
DWjswyyh.SetRedrawOff();
int rowFind = -1;
string yyGh = "";
for (int i = 1; i < DWjsyyyh.RowCount + 1; i++)
{
if (DWjsyyyh.IsItemNull(i, "gh"))
continue;
yyGh = DWjsyyyh.GetItemString(i, "gh");
rowFind = DWjswyyh.FindRow("gh = '" + yyGh + "'", 1, DWjswyyh.RowCount);
if (rowFind > 0)
DWjswyyh.DeleteRow(rowFind);
}
}
catch (Exception ex)
{
MessageBox.Show("初始化未有用户时出错:" + ex.Message, MsgTitle.Error);
}
finally
{
DWjswyyh.SetRedrawOn();
DWjswyyh.Refresh();
}
}
private void RetrieveData2()
{
try
{
DbProxyClient proxy = App.DbProxy;
proxy.Clear();
proxy.Retrieve(this.DWjswyyh);
}
catch (Exception ex)
{
MessageBox.Show("检索数据出错:" + ex.Message, MsgTitle.Error);
}
try
{
DWjswyyh.SetRedrawOff();
int rowFind = -1;
string yyGh = "";
for (int i = 1; i < DWjsyyyh.RowCount + 1; i++)
{
if (DWjsyyyh.IsItemNull(i, "gh"))
continue;
yyGh = DWjsyyyh.GetItemString(i, "gh");
rowFind = DWjswyyh.FindRow("gh = '" + yyGh + "'", 1, DWjswyyh.RowCount);
if (rowFind > 0)
DWjswyyh.DeleteRow(rowFind);
}
}
catch (Exception ex)
{
MessageBox.Show("初始化未有用户时出错:" + ex.Message, MsgTitle.Error);
}
finally
{
DWjswyyh.SetRedrawOn();
DWjswyyh.Refresh();
}
}
private void BTdel_Click(object sender, EventArgs e)
{
if (DWjsyyyh.RowCount < 1)
return;
if (DWjsyyyh.CurrentRow < 1)
{
MessageBox.Show("请先选择一个用户!");
return;
}
else
{
this.Delrow(DWjsyyyh.CurrentRow);
}
}
private void BTadd_Click(object sender, EventArgs e)
{
if (DWjswyyh.RowCount < 1)
return;
if (DWjswyyh.CurrentRow < 1)
{
MessageBox.Show("请先选择一个用户!");
return;
}
else
{
this.Addrow(DWjswyyh.CurrentRow);
}
}
private void BTdelall_Click(object sender, EventArgs e)
{
if (DWjsyyyh.RowCount < 1)
return;
int i = 0;
do
DWjsyyyh.DeleteRow(1);
while
(i < DWjsyyyh.RowCount);
this.RetrieveData2();
if (BTsave.Enabled == false)
BTsave.Enabled = true;
}
private void BTaddall_Click(object sender, EventArgs e)
{
if (DWjswyyh.RowCount < 1)
return;
for (int i = 1; i < DWjswyyh.RowCount + 1; i++)
{
int insertRow = DWjsyyyh.InsertRow(0);
DWjsyyyh.SetRow(insertRow);
DWjsyyyh.ScrollToRow(insertRow);
DWjsyyyh.SetItemString(insertRow, "gh", DWjswyyh.GetItemString(i, "gh"));
DWjsyyyh.SetItemString(insertRow, "yhmc", DWjswyyh.GetItemString(i, "yhmc"));
DWjsyyyh.SetItemString(insertRow, "jsid", m_JsId);
}
this.RetrieveData2();
if (BTsave.Enabled == false)
BTsave.Enabled = true;
}
private void BTsave_Click(object sender, EventArgs e)
{
DWjsyyyh.AcceptText();
try
{
DbProxyClient proxy = App.DbProxy;
proxy.Clear();
proxy.AddDataWindow(DWjsyyyh);
proxy.Update();
BTsave.Enabled = false;
}
catch (Exception ex)
{
MessageBox.Show("用户角色保存数据发生异常:" + ex.Message, MsgTitle.Error);
}
//初始化角色权限
InitJsQx();
if (m_DsJsQx != null)
//角色菜单的数据更新
UpdateJsCd();
}
private void BTrebake_Click(object sender, EventArgs e)
{
if (BTsave.Enabled == true)
{
DialogResult result = MessageBox.Show(this, "数据已修改,是否需要保存?", MsgTitle.Prompt, MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes)
{
return;
}
}
this.RetrieveData();
BTsave.Enabled = false;
}
private void BTclose_Click(object sender, EventArgs e)
{
if (BTsave.Enabled == true)
{
DialogResult result = MessageBox.Show(this, "数据已修改,是否需要保存?", MsgTitle.Prompt, MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes)
{
return;
}
}
this.Close();
}
private void DWjsyyyh_DoubleClick(object sender, EventArgs e)
{
if (DWjsyyyh.ObjectUnderMouse.RowNumber > 0)
{
Delrow(DWjsyyyh.ObjectUnderMouse.RowNumber);
}
else
return;
}
private void DWjswyyh_DoubleClick(object sender, EventArgs e)
{
if (DWjswyyh.ObjectUnderMouse.RowNumber > 0)
{
Addrow(DWjswyyh.ObjectUnderMouse.RowNumber);
}
else
return;
}
// 删除一行
private void Delrow(int rowNum)
{
DWjsyyyh.DeleteRow(rowNum);
this.RetrieveData2();
if (BTsave.Enabled == false)
BTsave.Enabled = true;
}
private void Addrow(int rowNum)
{
int insertRow = DWjsyyyh.InsertRow(0);
DWjsyyyh.SetRow(insertRow);
DWjsyyyh.ScrollToRow(insertRow);
DWjsyyyh.SetItemString(insertRow, "gh", DWjswyyh.GetItemString(rowNum, "gh"));
DWjsyyyh.SetItemString(insertRow, "yhmc", DWjswyyh.GetItemString(rowNum, "yhmc"));
DWjsyyyh.SetItemString(insertRow, "jsid", m_JsId);
this.RetrieveData2();
if (BTsave.Enabled == false)
BTsave.Enabled = true;
}
private void LabelTitleYyCd_Click(object sender, EventArgs e)
{
}
#region 创建应用信息分类
private void CreateYyXx()
{
tvwYyXx.Nodes.Clear();
QDataStore dsYyXx = null;
try
{
//开始创建
tvwYyXx.BeginUpdate();
DbProxyClient proxy = new DbProxyClient();
dsYyXx = new QDataStore();
//数据源
dsYyXx.LibraryList = PBL.GyPbl;
dsYyXx.DataWindowObject = GyDataObjects.D_Gy_JwWh_YyXx;
proxy.Clear();
proxy.Retrieve(dsYyXx);
//排序
dsYyXx.SetSort("yyid");
dsYyXx.Sort();
for (int i = 1; i < dsYyXx.RowCount + 1; i++)
{
//创建
if (!dsYyXx.IsItemNull(i, "yyid") && !dsYyXx.IsItemNull(i, "yymc"))
{
TreeNode nodeYyXx = tvwYyXx.Nodes.Add(dsYyXx.GetItemString(i, "yyid"), dsYyXx.GetItemString(i, "yymc"));
nodeYyXx.Tag = dsYyXx.GetItemString(i, "yyid");
nodeYyXx.ImageKey = QTreeView.ImageKeyEnum.Level1_Close.ToString();
nodeYyXx.SelectedImageKey = QTreeView.ImageKeyEnum.Level1_Open.ToString();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -