2012-09-25 43 views
0

我想匹配在我的文本框中从gridview的现有值写入的值。我曾尝试使用下面的函数使用javascript在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; 
    } 
} 

这样做在服务器端,但我也想文本框的值从gridview的数据在客户端使用JavaScript匹配。 我该怎么做?任何帮助,将不胜感激。

回答

0

如果发现它返回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; 
} 
相关问题