0

グリッドビューの既存の値からテキスト ボックスに書き込まれた値を一致させたい。次の関数を使用してサーバー側でこれを行いました

protected void isRecordAlreadyExist(TextBox txt_Value, int res)
{
    ds_main = new DataSet();
    paramArray = new string[3, 2];
    paramArray[0, 0] = "@KeyWinCountNumber";
    paramArray[0, 1] = txtkeyWinCount.Text.Trim();
    paramArray[1, 0] = "@ContractNumber";
    paramArray[1, 1] = txtContractNum.Text.Trim();
    paramArray[2, 0] = "`";
    obj = new DalLib();
    ds_main = obj.getDataSet("sp_tbl_Contract_MatchValues", paramArray);
    gvContract.DataSource = ds_main.Tables[res];
    if (ds_main.Tables[res].Rows.Count > 0)
    {
        mtvResult.ActiveViewIndex = 3;
        btnSubmit.Enabled = false;
    }
    else
    {
        btnSubmit.Enabled = true;
    }
}

protected void txtkeyWinCount_TextChanged(object sender, EventArgs e)
{
    if (!string.IsNullOrEmpty(txtkeyWinCount.Text))
    {
        isRecordAlreadyExist(txtkeyWinCount, 0);
    }
    else
    {
        mtvResult.ActiveViewIndex = -1;
    }
}

しかし、javascriptを使用して、クライアント側のグリッドビューデータからテキストボックスの値を一致させたいと思っています。これどうやってするの?任意の助けをいただければ幸いです。

4

1 に答える 1

0

このようなものを書くことができます。グリッド内の TextBox 値の関数検索に続いて、見つかった場合は true を返します。

テキストボックスのonchange JavaScriptイベントでこの関数を呼び出すことができます

function FindTextBoxValueInGrid
    {
    // Declare the flag
    var flag = false;
    // Get the text we want to compare in the table
    var checkText = document.getElementById('txtkeyWinCount').value;

    // Get the grid
    var gvContract= document.getElementById('gvContract');

    // Loop through each row
    // Starts at row 1 because I assume row 0 is a header row
    for (i=1;i<=gvContract.rows.length;i++)
    {
        var currentRow = gvContract.rows[i];

        if (currentRow.cells[0].value == checkText)
        {
            flag = true;
        }
    }
    return flag;
}
于 2012-09-25T07:25:48.140 に答える