2

これは、C#のWindowsフォームアプリケーションです。
私は3つの列を表示しているコントロールを使用しDataRepeaterています:
Text Label、、 以下はスクリーンショットです:Link LabelLink 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
    }

ここで必要なのは、ユーザーがクリックAccessまたはDenyリンクをクリックすると、対応する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 に答える