zoukankan      html  css  js  c++  java
  • 权限设置

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Data.SqlClient;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using DataAccess.Data;

    namespace CTERP
    {
        
    public partial class FrmUsersRoleInfo : Form
        {
            
    public FrmUsersRoleInfo()
            {
                InitializeComponent();
            }
            LinkDataBase link 
    = new LinkDataBase();
            DataSet dsMix 
    = null;
            
    string sqlRole = "select * from sy_dictrole";
            
    string sqlUsers = @"SELECT checkFlag = cast(0 as int),id,userid,fullname,description,password,grade,effectdate,expirydate,updatedby,lastupdate FROM users";
            
    string tbRole = "sy_dictrole", tbUsers = "users";      
            
    private void FrmUsersRoleInfo_Load(object sender, EventArgs e)
            {
                link.CustomizeDataGridView(dgvRole);
                link.CustomizeDataGridView(dgvUsers);

                dsMix 
    = link.ExecuteSQLDataSet(sqlRole, tbRole);
                dgvRole.DataSource 
    = dsMix;
                dgvRole.DataMember 
    = tbRole;

                dsMix 
    = link.ExecuteSQLDataSet(sqlUsers, tbUsers);
                dgvUsers.DataSource 
    = dsMix;
                dgvUsers.DataMember 
    = tbUsers;

                
    int i_roleid = int.Parse(dgvRole.Rows[0].Cells[0].Value.ToString());
                setCheckFlag(i_roleid);
            }

            
    private void btnSave_Click(object sender, EventArgs e)
            {
                
    if (dgvRole.Rows.Count < 0 || dgvRole.DataSource == nullreturn;
                
    int currentRoleID = int.Parse(dgvRole.Rows[dgvRole.CurrentRow.Index].Cells[0].Value.ToString()); //得到当前行的roleid
                DataTable dtTmp = DbHelperSQL.Instance.GetDataTable("select * from sy_personvsrole where roleid=" + currentRoleID + "");
                
    for (int i = 0; i < dgvUsers.Rows.Count; i++)
                {
                    
    int currentCheckFlag = int.Parse(dgvUsers.Rows[i].Cells[0].Value.ToString()); //得到当前行选择标记
                    int currentPersonID = int.Parse(dgvUsers.Rows[i].Cells[1].Value.ToString()); //得到当前行用户ID
                    int i_length = dtTmp.Select("personid=" + currentPersonID + "").Length; //从表sy_personvsrole中查找相同personid的记录
                    if (currentCheckFlag == 0)
                    {
                        
    if (i_length > 0//没选中标记,在表sy_personvsrole中确实存在(表示:取消选中),则从表sy_personvsrole中删除
                        {
                            
    string i_delete_sql = "delete from sy_personvsrole where personid=" + currentPersonID + "";
                            DbHelperSQL.Instance.ExcuteNonQuery(i_delete_sql);
                        }
                    }
                    
    else
                    {
                        
    if (i_length == 0//已选中标记,在表sy_personvsrole中不存在(表示:新选中的),则在表sy_personvsrole中插入此条新记录
                        {
                            
    string i_insert_sql = "insert into sy_personvsrole select " + currentPersonID + "," + currentRoleID + ",'" + string.Empty + "'";
                            DbHelperSQL.Instance.ExcuteNonQuery(i_insert_sql);
                        }
                    }
                }
                MessageBox.Show(
    "数据保存成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
            }

            
    private void btnExit_Click(object sender, EventArgs e)
            {
                
    this.Close();
            }

            
    private void dgvRole_CellClick(object sender, DataGridViewCellEventArgs e)
            {
                
    if (e.RowIndex != -1)
                {
                    
    for (int i = 0; i < dgvUsers.Rows.Count; i++)
                    {
                        dgvUsers.Rows[i].Cells[
    0].Value = 0;
                    }
                    
    //dgvUsers.DataSource = DbHelperSQL.Instance.GetDataTable(sqlUsers);////到底谁的效率更好?
                    int i_roleid = int.Parse(dgvRole.Rows[e.RowIndex].Cells[0].Value.ToString());
                    setCheckFlag(i_roleid);
                }
            }

            
    //设置复选框的状态
            private void setCheckFlag(int roleid)
            {
                
    string sqlTmp = @"select personid from sy_personvsrole where roleid=" + roleid + "";
                DataTable dtTmp 
    = DbHelperSQL.Instance.GetDataTable(sqlTmp);
                
    for (int i = 0; i < dgvUsers.Rows.Count; i++)
                {
                    
    string str_id = dgvUsers.Rows[i].Cells[1].Value.ToString().Trim();
                    
    if (dtTmp.Select("personid=" + int.Parse(str_id) + "").Length > 0)
                    {
                        dgvUsers.Rows[i].Cells[
    0].Value = 1;//表示选中
                    }
                }
            }
        }
    }
  • 相关阅读:
    几种常见的content-type
    node简单起服务
    ESlint配置案例及如何配置
    网络攻防学习心得一(20159320)工具学习
    网络攻防学习心得一(20159320)黑客信息
    题解 POJ1187 【陨石的秘密】
    题解 POJ1934 【Trip】
    题解 POJ1952 【BUY LOW, BUY LOWER】
    TIM bug 总结以及应对方案
    题解 POJ3171 【Cleaning Shifts】
  • 原文地址:https://www.cnblogs.com/perfect/p/1149078.html
Copyright © 2011-2022 走看看