سؤال

لدي ASPxGridView أود أن تسمح بعض المستخدمين قد قرأت المستخدمين الآخرين حق الوصول إلى.من الناحية المثالية أن تكون مبنية على الدليل النشط المجموعات.
كيف يمكن أن أفعل هذا ؟

هل كانت مفيدة؟

المحلول 2

ولقد انتهى تهيئة معالج حدث للحدث ربط بيانات وتعطيل عمود القيادة كما يلي:

protected void ASPxGridView1_DataBound(object sender, EventArgs e)
{ 
  if (!User.IsInRole(ConfigurationSettings.AppSettings["EditActiveDirectoryGroup"]))
  {
    foreach (GridViewColumn c in ASPxGridView1.Columns)
    {
      if (c.GetType() == typeof(GridViewCommandColumn))
      {
        c.Visible = false;
      }
    }
  }
}

نصائح أخرى

إذا كنت تستخدم بالتحرير في مكان الصفوف، فإنه سيكون مسألة إخفاء الضوابط التي من شأنها أن تسمح للمستخدم لتحرير الشبكة.

ويمكنك القيام بذلك عن طريق ربط إلى الحدث RowDataBound في GridView مع معالج الحدث، والتحقق دور المستخدم. إذا فشلوا في الاختيار، إخفاء ضوابط التحرير.

void CustomersGridView_RowDataBound(Object sender, GridViewRowEventArgs e)
  {
    if(e.Row.RowType == DataControlRowType.DataRow)
    {
      if (!Roles.IsUserInRole("Admin"))
      {
        // Hide the edit controls.
        // This would be your "Edit" button or something.
        e.Row.Cells[1].Controls[0].Visible = false;  
      }
    }
  }

إذا كنت ترغب في تمكين EditButton مشروط إلا في بعض الصفوف ، هناك مثال CQ66919 في DevExpress.com.

إضافة إلى أنها تشير إلى مثال E366 للحصول على إصدارات أحدث من ASPxGridView.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top