使用javascript匹配gridview中数据的文本框值

时间:2012-09-25 06:48:07

标签: javascript asp.net

我希望将gridbox中写入的值与gridview的现有值进行匹配。我在服务器端使用以下功能

完成了这项工作
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匹配客户端gridview数据中文本框的值。 我怎样才能做到这一点?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

你可以写下这样的东西,在网格中找到TextBox值的函数,如果发现它返回true。

你可以在textbox的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;
}