szpzr 发表于 2024-1-1 15:07:27

WPF的C1FlexGrid单元格验证事件

本帖最后由 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;
                  
                  if (cellcontent!=null)
                  {
                         //数据库连接
                        MySqlConn.con_open();
                        SqlStr = "select Person From where ='" + cellcontent + "'";
                        Da = new SqlDataAdapter(SqlStr, DataClass.SqlConn.MySqlCon);
                        Ds = new DataSet();
                        Da.Fill(Ds, "W_Employee");
                        if (Ds.Tables.Rows.Count > 0)
                        {
                            FlexGrid1.Cells = Ds.Tables.Rows["Person"].ToString();
                        }
                        Ds.Dispose();
                        Da.Dispose();
                        MySqlConn.con_close();
                  }
                }
            }
      }
   
   第一列输入代码按回车后,按回车到第二列,没有显示员工姓名,用鼠标或箭头回到第一列,再按回车第二列才显示员工姓名,
   FlexGrid的KeyActionEnter 已设置为 MoveAcross,哪里设置有问题吗?



Richard.Ma 发表于 2024-1-2 18:12:23

从你描述的情况看是单元格内容没有刷新,只看设置的代码没法发现问题原因。请提供一个能重现问题的dmeo,我帮忙看看原因

szpzr 发表于 2024-1-3 14:14:24

谢谢版主,参考了其他帖子,解决了问题。请问 WPF 下的FlexGrid 如何在行标题中显示行号?

Richard.Ma 发表于 2024-1-3 14:48:38

可以参考一下这个
https://developer.mescius.com/blogs/display-row-index-in-c1flexgrid-for-lightswitch

另外,新的问题建议发新帖

szpzr 发表于 2024-1-3 15:18:25

好的,谢谢!

Richard.Ma 发表于 2024-1-3 18:36:41

不客气
页: [1]
查看完整版本: WPF的C1FlexGrid单元格验证事件