2010-07-27 43 views
4

我有Gridview的綁定sqldatasource和我有登錄看到gridview和我做這些登錄的角色他們不能看到所有的gridview列,所以我怎麼能讓一些列只能讀取。只讀的GridView中的列

代碼 公共無效CheckLoginAuthorty(){

using (SqlConnection Con = Connection.GetConnection()) 
    { 
     SqlCommand com = new SqlCommand("CheackLoginInRole", Con); 
     com.CommandType = CommandType.StoredProcedure; 
     com.Parameters.Add(Parameter.NewNVarChar("@Login", Session.Contents["Username"].ToString())); 
     object O = com.ExecuteScalar(); 

     if (O != null) 
     { 
      string S = O.ToString(); 

      if (IsInRole("AR-Translator", O.ToString())) 
      { 
      ///////// Grideview code///////////////// 
      } 

      else if (IsInRole("EN-Translator", O.ToString())) 
      { 
     /////////Grideview code///////////////// 
      } 
     } 
    } 
} 
+0

你要隱藏一些列或公正也不對其進行編輯? – Arseny 2010-07-27 11:50:40

+0

我想根據用戶的角色只讀取特定列 – Myworld 2010-07-27 11:53:39

回答

8

編輯:

所有你需要做的是設置ReadOnly屬性true

例如

的WinForms DataGridView的

dataGridView1.Columns["ColumnName"].ReadOnly = true; 

的WebForms的GridView

((BoundField)gridView1.Columns[columnIndex]).ReadOnly = true; 
+0

ReadOnly屬性didnot找不到 – Myworld 2010-07-27 11:40:13

+0

您是使用Windows窗體DataGridView還是Web窗體GridView? – w69rdy 2010-07-27 11:54:19

+0

Web窗體GridView – Myworld 2010-07-27 11:56:11

2
DataGridViewColumn column; 
column.ReadOnly = true;