【问题标题】:DataGridView: Which Event do I need?DataGridView:我需要哪个事件?
【发布时间】:2009-01-15 23:02:09
【问题描述】:

我已将 DGV 正确绑定到数据和所有其他控件。我现在要做的是根据数据行的内容更新一个 PictureBox 。图片不是绑定数据的一部分,它始终在网络上可用。我有一个函数可以将 url 字符串构建到带有我需要的图像的网络服务器。

问题是我可以找出正确的事件。鼠标点击工作完美,但不允许键盘选择(即绑定字段更新但pictureBox 没有)。 RowEnter/RowLeave 都给我留下了之前选择的行中的图片,而不是当前行。

任何见解将不胜感激。

【问题讨论】:

    标签: c# winforms datagridview


    【解决方案1】:

    另一个疯狂的猜测:SelectionChanged

    【讨论】:

      【解决方案2】:

      编辑:意识到您希望它在您选择一行时发生..

      MyGrid.RowEnter += new DataGridViewCellEventHandler(MyGrid_RowEnter );
      
      void MyGrid_RowEnter(object sender, DataGridViewCellEventHandlere)
      {
          if (0 > e.RowIndex) return;
      
          //TODO: Do whatever with your image here..
      }
      

      【讨论】:

        【解决方案3】:

        百搭:OnRowDataBound

        如果您想访问绑定到网格的行(及其列),请使用上面的事件。

        您的问题是您的问题是您确实知道该事件,还是您的意思是您知道该事件?

        编辑:如果您希望此行为发生客户端(即,在选择行不存在后退时),则某些JavaScript在整个行上的onclick事件处理程序(tr)或在第一列中放置复选框为此使用 onlick。

        否则,如果您希望每次选择行时都进行回发,那么您可以使用诸如 OnSelectedIndexChanged 之类的事件或 DGV 附带的内置命令。

        【讨论】:

        • 行不通。他希望在选择行时更新图片,而不是数据绑定。
        猜你喜欢
        • 1970-01-01
        • 2014-10-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-30
        • 2020-03-03
        相关资源
        最近更新 更多