本帖最后由 szpzr 于 2024-1-1 15:22 编辑
版主:
您好!
WPF的C1FlexGrid单元格通过PreviewKeyDown 事件验证单元格输入:
private void FlexGrid1_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
int col = FlexGrid1.Selection.Column;//当前列
if(col==0)
{
int row = FlexGrid1.Selection.Row;//当前行
var cellcontent = FlexGrid1[row, col];
if (cellcontent!=null)
{
//数据库连接
MySqlConn.con_open();
SqlStr = "select Person From [W_Employee] where [Person_No]='" + cellcontent + "'";
Da = new SqlDataAdapter(SqlStr, DataClass.SqlConn.MySqlCon);
Ds = new DataSet();
Da.Fill(Ds, "W_Employee");
if (Ds.Tables[0].Rows.Count > 0)
{
FlexGrid1.Cells[row, 1] = Ds.Tables[0].Rows[0]["Person"].ToString();
}
Ds.Dispose();
Da.Dispose();
MySqlConn.con_close();
}
}
}
}
第一列输入代码按回车后,按回车到第二列,没有显示员工姓名,用鼠标或箭头回到第一列,再按回车第二列才显示员工姓名,
FlexGrid的KeyActionEnter 已设置为 MoveAcross,哪里设置有问题吗?
|