我在c#中有一个允许用户发布事件的程序(将其视为不同类别的不同凭证)。在程序中,有一个称为促销权限的功能来设置对事件的访问权限。这两种访问权限是查看权限和颁发权限。查看权限允许用户查看事件并发出权限允许用户发出(打印)事件。例如,如果事件设置为视图权限:是并发出权限:否,则用户无法发出事件但可以查看它。如果两种情况都是肯定的,则用户可以发出该事件。
现在我在程序中有另一个函数来发出事件(凭证)。在该程序中,它显示事件列表(当用户输入其ID时)并且能够勾选(复选框)他们希望发布的事件。我需要的是,如果事件没有问题权限但查看权限,则不应允许用户勾选复选框,如果他们尝试这样做,则应该抛出错误消息通知用户限制。
这是我的代码:
private void lisVieBenefits_ItemChecked(object sender, ItemCheckedEventArgs e)
{
RestartAutoLogoffTimer();
DataSet dsData = oBSPromoPermission.GetBrowseData();
if (e.Item.Checked && !IsEnoughtToRedeemPointEarnReward())
{
// Uncheck previous item
e.Item.Checked = false;
return;
}
if (panBenefitSelection.Enabled)
{
int intTotal = 0;
for (int intCounter = 0; intCounter < lisVieBenefits.Items.Count; intCounter++)
{
if (lisVieBenefits.Items[0].ListView.Items[intCounter].Checked)
intTotal += 1;
}
if (intTotal > intMaxBenefitSelection)
{
lisVieBenefits.Items[0].ListView.Items[e.Item.Index].Checked = false;
SetErrorHint("Please select not more than (" + intMaxBenefitSelection + ") benefit selection");
}
if (dsData.Tables[0].Columns[3].ToString() == "True" && dsData.Tables[0].Columns[4].ToString() == "False")
{
// lisVieBenefits.Items[0].ListView.Items[e.Item.Index].Checked = false;
SetErrorHint("This event does not have an issue permission");
}
}
我宣布并致电班级:
private BSPromoPermission oBSPromoPermission = new BSPromoPermission();
因此,dsData
是一个数据集变量,声明用于调用具有查看权限和发布权限的数据库。如代码所示,对于查看权限,列[3]设置为true,对于发布权限,列[4]设置为false。
不知怎的,这不起作用。任何帮助将不胜感激。