2012-02-14 78 views
1

嗨,我有應用程序,我要導出頁面,其他頁面上的其他網格網格數據..如何將數據從網格導出到其他網頁上的其他網格?

我的邏輯是,我有網格複選框.........我有一個管理員和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. 

可以在任何1告訴我如何開始這個...我應該如何準備數據庫以及使用.... 並可以在任何提供我所需要的代碼...對我來說會很有幫助...

在此先感謝你們...

+0

爲什麼要將柵格數據導出到另一個頁面?在另一個頁面中,您可以在將第一個網格數據中的數據更新到數據庫後加載所需的數據。 – 2012-02-14 08:38:16

+0

管理員將數據分配給用戶...分配的數據將以網格形式發送給用戶@ ThitLwinOo – SoftwareNerd 2012-02-14 08:41:45

回答

1

供您參考,請檢查以下內容。這不是完美的解決方案,需要修改一些參照完整性等。只需爲您的要求提供一些想法。

- DB設計

-- 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你有管理頁面和用戶頁面 在管理頁面,使用templatefiled列(用戶下拉菜單和任務下拉列表) 用戶下拉

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

任務下拉列表

SELECT ID, TASK_DESC FROM TASKS 

- 當更新任務,每個用戶的事件,讀取網格數據並保存到ASSINGMENTS表

對於用戶頁面 -

只是讀取ASSINGMENTS表中的數據與用戶加入,任務表如下並結合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

這取決於你的數據庫和你的模式。 您應該創建一個Work表包含

  • ID INT
  • CreatedBy(管理員ID)
  • CreatedAt日期時間
  • 主題和/或備註VARCHAR空

然後我會用1-n關係表WorkAssignment存儲用戶分配和管理員選擇的數據(應該完成的操作)

  • ID INT
  • fiWorker(指定的用戶的ID)
  • fiWork(在Work記錄的ID)
  • 主題和/或備註VARCHAR NULL(如果你以後想離開的話對這個用戶)
  • fiData INT(鏈接到你的GridView的記錄)
+0

我是否必須將所選數據保存在名爲createdby(adminId)的單個庫中。@ Tim Schmelter – SoftwareNerd 2012-02-14 10:01:52

+0

' CreatedBy'只是存儲分配工作的管理員的用戶標識的列。即使現在只有一個人,未來也可能會發生變化(也就是說,一名工人也可以將工作分配給其他工人)。因此,存儲它通常是一個好主意。表'WorkAssignment'中的'fiData'是引用GridView中所選項目的列。 (順便說一句,更好的名字是'AssignedBy'和'AssignedAt') – 2012-02-14 10:27:57