سؤال

لديّ winform مع datagridview أعضاء فريق في فريق. كل من هؤلاء الأعضاء لديهم دور مخصص وغيره من الخصائص المدرجة في عمود في الشبكة ولكن لغرض ما أريد تحقيقه فهي غير ذات صلة. لقد أضفت أيضًا BindingNavigator مع أزرار إضافة وتحرير وحذف.

ما أود تنفيذه هو أنه يجب تعطيل زر التحرير/الحذف عندما أقوم بتحديد صف يحتوي على عضو في الفريق في دور معين (مدير الحساب الرئيسي وبعض الآخرين) ويتم تمكينه عندما لا يكون للعضو المحدد دورًا من هذا القبيل.

لذا ، كيف يمكنني إعداد هذا؟ هل هناك حدث للصف المحدد الحالي أو تحديد صف جديد يمكنني إضافة الكود الخاص بي؟

أنا أفكر في شيء ما على خطوط هذا كود مزيف:

if (SelectedRow.DataboundObject.Role == "KEY_ACCOUNT_MANAGER") 
{
    bindingNavigatorChangeItem.Enabled() = false;
    bindingNavigatordeleteItem.Enabled() = false;
}
هل كانت مفيدة؟

المحلول

لقد اكتشفت هذا الأمر أخيرًا وهو يعمل بشكل مثالي. ما كان علي فعله هو إضافة بعض التعليمات البرمجية إلى حدث SelectionChanged على DataGridView:

var member = teamRoleBindingSource.Current as TeamRole;

if (member != null && member.RoleCode == "KEY_ACCOUNT_MANAGER")
{
    bindingNavigatorDeleteItem.Enabled = false;
    bindingNavigatorChangeItem.Enabled = false;
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top