Как экспортировать данные из сетки в другую сетку на другой странице? - PullRequest
1 голос
/ 14 февраля 2012

Привет, у меня есть приложение, в котором я должен экспортировать данные сетки на странице в другую сетку на другой странице.

моя логика в том, что у меня есть сетка с флажками ......... и у меня есть администратор и 3 пользователя ... у меня есть одна страница для "администратора" и одна страница для других "3 пользователей", когда они входят в систему, их перенаправляют на их собственную страницу ..... когда администратор входит в систему, он заполняет сетку данными с флажками .......

       1)now the "admin" logins and visits his page his page looks like this
        he has a button called assign work and a dropdownlist binded with three users                      names.
       2)The admin selects some data using checkbox and selects the username from the dop down list ,and clicks on assign work button.
        3)In the same way he does for other two users....
       4)Here all the users have same page when user 1 logins he should be seeing only the  work assigned to him by admin,when user two logins his work should be shown.

Может ли кто-нибудь сказать мне, как начать это ... как я должен подготовить базу данных и использовать это .... и может ли любой предоставить мне необходимый код ... будет полезным для меня ...

заранее спасибо, ребята ...

Ответы [ 2 ]

1 голос
/ 14 февраля 2012

Для справки, пожалуйста, проверьте следующее. Это не идеальное решение, нужно изменить некоторую ссылочную целостность и т. Д. Просто предоставьте вам некоторое представление о ваших требованиях.

- дизайн БД

-- user information
create table USERS (USER_ID INT IDENTITY PRIMARY KEY, USER_NM NVARCHAR(100) NOT NULL)
insert into USERS values ('Admin');
insert into USERS values ('User 1');
insert into USERS values ('User 2');
insert into USERS values ('User 3');

-- role description
create table ROLES_DESC (ID INT IDENTITY PRIMARY KEY, ROLE_ID INT NOT NULL, ROLE_DESC NVARCHAR(50) NOT NULL)
INSERT INTO ROLES_DESC VALUES (1,'Admin');
INSERT INTO ROLES_DESC VALUES (2,'User');

-- assing each user to at least one role
create table ROLES (ID INT IDENTITY PRIMARY KEY, USER_ID INT NOT NULL, ROLE_ID INT NOT NULL)
insert into ROLES (1,1) -- admin
insert into ROLES (2,2) -- User 1
insert into ROLES (3,2) -- User 2
insert into ROLES (4,2) -- User 3


-- task infomration
create table TASKS (ID INT IDENTITY PRIMARY KEY, TASK_DESC VARCHAR(100))
insert into TASKS values ('C# Programming');
insert into TASKS values ('Database Programming');
insert into TASKS values ('Match Homework');


-- admin can assing task to each user.. save here
create table ASSINGMENTS (ID INT IDENTITY PRIMARY KEY, USER_ID INT NOT NULL, TASK_ID INT NOT NULL, ASSING_DT DATETIME DEFAULT GETDATE())
insert into ASSINGMENTS (USER_ID,TASK_ID) values (2,1);
insert into ASSINGMENTS (USER_ID,TASK_ID) values (2,2);
insert into ASSINGMENTS (USER_ID,TASK_ID) values (3,1);
insert into ASSINGMENTS (USER_ID,TASK_ID) values (4,3);

--------- в aspx у вас есть страница администратора и страница пользователя На странице администратора используйте шаблонные столбцы (выпадающий список пользователей и выпадающий список задач) для пользователя выпадающий

SELECT USER_ID, USER_NM) FROM USERS WHERE ID <> 1 -- (only select non-admin user)

для выпадающего списка задач

SELECT ID, TASK_DESC FROM TASKS

- при обновлении задачи для каждого пользовательского события считывать данные из сетки и сохранять в таблицу ASSINGMENTS

Для страницы пользователя -

Просто прочитайте данные из таблицы ASSINGMENTS, объедините с таблицами USERS, TASKS, как следует, и свяжите их с gridview

SELECT A.TASK_ID, T.TASK_DESC, A.ASSING_DT
FROM ASSINGMENTS A
INNER JOIN TASKS T ON (A.TASK_ID = T.ID)
WHERE A.USER_ID = 2
0 голосов
/ 14 февраля 2012

Это зависит от вашей базы данных и вашей схемы.Вы должны создать таблицу Work, которая содержит

  • ID int
  • CreatedBy (идентификатор администратора)
  • CreatedAt datetime
  • Тема и / илиЗамечания varchar null

Тогда я бы использовал таблицу отношений 1-n WorkAssignment, которая хранит назначение пользователя и данные, выбранные администратором (что должно быть сделано)

  • ID int
  • fiWorker (идентификатор назначенного пользователя)
  • fiWork (идентификатор записи в Work)
  • Тема и / или замечания varcharnull (если позже вы захотите оставить комментарий для этого пользователя)
  • fiData int (ссылки на запись вашего GridView)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...