1

プロジェクトに取り組んでいて、行を2回クリックしたときに、Infragistics GridListの行を読み取る必要があります。これにより、グリッドリストに入力しました。

     try
        {
            if (txtAd.Text.Replace("'", "").Trim() == string.Empty && txtSoyad.Text.Replace("'", "").Trim() == string.Empty)
            {
                stBarMsg.Text = "ad soyad girilmeli!";
                return;
            }

            DataTable dt = PrePaidLib.getParaPuanGoruntulemeList(true, txtAd.Text.Replace("'", ""), txtSoyad.Text.Replace("'", ""));
            grdList.DataSource = dt;
            grdList.DataBind();
        }
        catch (Exception exp)
        {
            ErrorLib.ErrorHandle(exp, "frmParaPuanGoruntuleme.retrieveRecord");
        }

ここで、私のダブルクリック機能を見つけることができます

        private void grdList_DoubleClickCell(object sender, Infragistics.Win.UltraWinGrid.DoubleClickCellEventArgs e)
    {
        try
        {
            txtKartno.Text = grdList.Selected.Columns[0].ToString();//Cells[1].ToString();
        }
        catch(Exception ex)
        {
            ErrorLib.ErrorHandle(ex, "grdList_DoubleClickCell");
        }
    }

この行は機能しません"txtKartno.Text= grdList.Selected.Columns [0] .ToString();" ちなみに、各属性の値を1つずつ取得したいと思います。グリッドリストに4つの列があります。助言がありますか?

4

1 に答える 1

2

Infragistics UltraWinGridのセルをダブルクリックすると、DoubleClickCellEventArgs.Cellプロパティでクリックされたセルが表示されます。このプロパティから、構文を使用して現在の行に到達できe.Cell.Row、その行から、構文を使用して他のセルに到達できe.Cell.Row.Cells[columnName or columnIndex].Valueます。

したがって、必要なデータはこの方法で読み取ることができます

txtKartno.Text = e.Cell.Row.Cells[0].Value.ToString();

(必要なセルはクリックされたセルではなく、列はインデックス0にあると想定しています)

もちろん、クリックしたセルが必要なセルである場合、構文はより簡潔になります

txtKartno.Text = e.Cell.Value.ToString();

答えを完成させるために、UltraGridRowには、行からセル値を取得するために使用できる2つのメソッドがあることに注意してください。

string textResult = e.Cell.Row.GetCellText(e.Row.Band.Columns[0]);
object objResult = e.Cell.Row.GetCellValue(e.Row.Band.Columns[1]);

Infragisticsによると、これら2つの方法は、不要なセルオブジェクトの作成を回避するため、パフォーマンスが向上します。あなたの場合、これらの方法が本当に有益かどうかは明らかではありません。

于 2012-06-26T07:49:21.350 に答える