コード例 #1
0
        private void setUpDatagrid()
        {
            //pierwsza kolumna nie jest do edycji, w niej musi być primaryKey;
            dataGridView1.Columns[0].ReadOnly = true;
            dataGridView1.Columns[0].DefaultCellStyle.BackColor = Color.LightGray;

            DBReader reader = new DBReader(dbConnection);

            queryData = reader.readFromDB(sqlQuery);

            //jeżeli kwerenda błędna to nie zwróci wyników
            //przypadki błędnej kwerendy obsługiwane są przez DBReader
            if (queryData.getHeaders().Count != 0)
            {
                dbData = queryData.getQueryData();
                List <string> columnHeaders = queryData.getHeaders();

                //dopasowuję formatkę do wyników nowej kwerendy

                changeMainFormLayout(columnHeaders.Count, ref dataGridView1);

                //nazywam nagłówki
                for (int i = 0; i < queryData.getHeaders().Count; i++)
                {
                    dataGridView1.Columns[i].HeaderText = columnHeaders[i];
                }
            }
            if (dbData != null)
            {
                loadRowPacket();

                if (rowsLoaded < dbData.Count)
                {
                    int rowsRemaining = dbData.Count - rowsLoaded;

                    loadNextButton.Visible     = true;
                    loadNextButton.Enabled     = true;
                    remainingRowsLabel.Visible = true;
                    remainingRowsLabel.Text    = "zostało " + rowsRemaining;

                    if (rowsRemaining > ProgramSettings.numberOfRowsToLoad)
                    {
                        loadNextButton.Text = "+" + ProgramSettings.numberOfRowsToLoad;
                    }
                }
            }
        }
コード例 #2
0
        private bool readUserata()
        {
            DBConnector dbConnector = new DBConnector(userLogin, userPassword);

#if DEBUG
            currentPath = @"C:\testDesktop\conf";
#else
            currentPath = Application.StartupPath;
#endif
            if (dbConnector.validateConfigFile(currentPath))
            {
                dbConnection = dbConnector.getDBConnection(ConnectionSources.serverNameInFile, ConnectionTypes.sqlAuthorisation);
                dbReader     = new DBReader(dbConnection);

                string query = SqlQueries.getDesktopUserData + "'" + userLogin + "'";
                userData = dbReader.readFromDB(query);
                return(true);
            }
            return(false);
        }
コード例 #3
0
        private string currentPath = "";                                                                        //katalog z którego uruchamiany jest program, wykrywany przez DBConnector i ustawiany tutaj
                                                                                                                //dla DEBUGA ustawiony jest w metodzie ReadAllData

        public DesktopForm(QueryData userData, string userPassword, DBReader dbReader, string currentPath)
        {
            this.userData     = userData;
            this.userPassword = userPassword;
            this.dbReader     = dbReader;
            this.currentPath  = currentPath;
            readDesktopData();
            if (desktopData.getQueryData().Count > 0)
            {
                InitializeComponent();
                setupDesktop();
            }
            // niczego nie przeczytał bo użytkownik nie ma uprawnień do żadnych programów
            // w chwili obecnej z tą kwerendą która jest zdefiniowana w ProgramSettings nie zadziała, bo wyświetlam wszystkie programy niezależnie od dostępu użytkownika
            //trzeba by filtrować np. po Grant_app
            else
            {
                MyMessageBox.display("użytkownik nie ma dostępu do żadnych programów", MessageBoxType.Error);
                this.Dispose();
            }
        }