2

它是 C# 中的 Windows 窗体应用程序。
我正在使用DataRepeaterControl ,其中显示三列:
Text Label, Link Label,Link Label
以下是屏幕截图:
在此处输入图像描述

以下是填充的代码DataRepeater

private void Get_StaffLogins_RequestList()
    {
        mySqlConnection = DBAccess.getConnection();
        mySqlConnection.Open();
        DataTable dt = sysadmin.getStaffLoginsRequests(mySqlConnection);
        BindingSource bSource = new BindingSource();

        staff_id.DataBindings.Add("Text", bSource, "staff_id");
        //accessLink.DataBindings.Add("Value", bSource, "staff_id");
        //denyLink.DataBindings.Add("Value", bSource, "staff_id");

        if (dt.Rows.Count > 0)
        {
            bSource.DataSource = dt;
            r_msgs.DataSource = bSource;
        }
        else
        {
            r_msgs.DataSource = String.Empty;
            notify.Text = "There are no Pending requests for staff logins!";
        }
        mySqlConnection.Close();
    }

    private void accessLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
    {
        //Access Link Clicked
    }

    private void denyLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
    {
        //Deny Link Clicked
    }

现在我需要的是,当用户单击AccessDeny链接时,我以某种方式获得相应的 StaffID,以便我可以在数据库中标记特定的 StaffID 访问/拒绝。
如何使用唯一的员工 ID 为每个行链接标签分配属性?
提前致谢!

4

1 回答 1

1

我通过获取 DataRepeater 的当前项目索引解决了这个问题:

private void accessLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
    {
        //Access Link Clicked
        int RequestNumber = r_msgs.CurrentItemIndex;
        MessageBox.Show(RequestNumber.toString()+1);
        //Remaining Code
    }

此代码打印访问链接标签的行号,这就是我想要的!

于 2012-07-16T12:49:13.883 回答