在键入重复值时将焦点设置在重复的行数据上

时间:2015-11-05 06:40:52

标签: asp.net

我在asp.net中有一个gridview,我在其中插入数据。当我插入重复值时,它将显示重复的项目。现在我需要在项目重复警告消息后显示光标将重点放在行值包含重复的项目。如果我的数据表已经包含代码C1,那么我再次键入c1进行插入,然后光标将聚焦在gridview中包含c1的行上。这是我的代码

protected void Button15_Click(object sender, EventArgs e)
{
    Control control = null;
    if (GridView1.FooterRow != null)
    {
        control = GridView1.FooterRow;
    }
    else
    {
        control = GridView1.Controls[0].Controls[0];
    }
    string Code = (control.FindControl("txtcode") as TextBox).Text;
   string txtno= (control.FindControl("txtno") as TextBox).Text;

    using (SqlConnection con = new SqlConnection("Data Source=XXXXXX;Initial Catalog=XXXXXX;User ID=XXXX;Password=XXXXXX"))
    {
        using (SqlCommand cmd = new SqlCommand())
        {
            DataTable dt = new DataTable();
            SqlDataAdapter da1;
            da1 = new SqlDataAdapter("select code from tbltmp where code='" + Code + "' ", con);
            da1.Fill(dt);
            if (dt.Rows.Count > 0)
            {
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(),
                    "alertMessage",
                    "alert('Item Repeated');", true);
                (control.FindControl("txtcode") as TextBox).Focus();
            }              
            else
            {
                (control.FindControl("txtno") as TextBox).Focus();
            }
        }
    }
}

1 个答案:

答案 0 :(得分:-1)

在重复行检查的按钮事件中将文本框上的焦点设置为textbox1.focus