检查 DatagridView 是否为空(没有值)?

发布于 2024-09-30 10:52:31 字数 341 浏览 4 评论 0原文

我有一个 3X3 网格,在创建时有空(没有值)单元格。

我想检查用户是否在单元格中键入了一些数据。

它不绑定到任何数据源。我不想遍历每个单元格并检查数据并在找到的第一个数据上中断。

我想要一些同样的小解决方案。因为同样的事情必须以多种形式完成。我将为此制作一些通用例程或扩展方法。

附: 我拥有的是一个具有三个参数的网格

        ParamA        ParamB         ParamC
Short
Medium
Long

当用户填充任何数据时, 。我必须将它添加到集合中。如果没有数据被输入,则不执行任何操作。

I have a 3X3 grid which on creation has empty(has no values) cells.

I want to check whether user has key-in some some data into the cell's or not.

Its not binded to any data-source. I don't want to iterate through each cell and check for the data and break on the first data found.

I want some small solution for the same. As same thing has to be done on many forms. I will make some generic routine or extension method for the same.

PS:
What I have is a grid with three paramter

        ParamA        ParamB         ParamC
Short
Medium
Long

when user fill any of the data. I have to add it to a collection. If no data is key inned then do nothing.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

紫瑟鸿黎 2024-10-07 10:52:31

考虑使用 KeyPress 事件,或者更好的是 MSDN 上的CellEndEdit

下面显示了一个消息框,其中显示了您所在的位置和单元格内容(更正):


    private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
    {

        string message = string.Format("Cell End Edit: just left row: {0} and column {1}.\n Value entered:{2}", e.RowIndex, e.ColumnIndex,
                                       dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].FormattedValue.ToString());
        MessageBox.Show(this, message, "You were here");

    }

为了重用,您可以创建自己的用户控件或创建基本表单类。

Consider using the KeyPress event or perhaps even better would be the CellEndEdit on MSDN

The following shows a message box of where you were and the cell contents(Correction):


    private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
    {

        string message = string.Format("Cell End Edit: just left row: {0} and column {1}.\n Value entered:{2}", e.RowIndex, e.ColumnIndex,
                                       dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].FormattedValue.ToString());
        MessageBox.Show(this, message, "You were here");

    }

For reuse you may create your own user control or create a base form class.

夏末 2024-10-07 10:52:31

您可以创建一个整数值EmptyFieldsCount,并在用户每次更新单元格时更新它。

You can create a integer value EmptyFieldsCount, and update it every time the user updates a cell.

寻找一个思念的角度 2024-10-07 10:52:31

1 列是复选框,如果选中为 true,则:

 Dim dgv1 As DataGridViewRow = DataGridView1.Rows(e.RowIndex)
      Dim headerText As String = DataGridView1.Columns(e.ColumnIndex).HeaderText
      If dgv1.Cells(0).Value = True Then
        If Not headerText.Equals("Short Desc") Then Return
        If String.IsNullOrEmpty(e.FormattedValue.ToString()) Then
          DataGridView1.Rows(e.RowIndex).ErrorText = "Short Desc Can not be blank ! "
          e.Cancel = True
        End If
      End If

没有复选框:

 Dim dgv1 As DataGridViewRow = DataGridView1.Rows(e.RowIndex)
      Dim headerText As String = DataGridView1.Columns(e.ColumnIndex).HeaderText
        If Not headerText.Equals("Short Desc") Then Return
        If String.IsNullOrEmpty(e.FormattedValue.ToString()) Then
          DataGridView1.Rows(e.RowIndex).ErrorText = "Short Desc Can not be blank ! "
          e.Cancel = True
      End If**

With 1 column is check box if checked is true then:

 Dim dgv1 As DataGridViewRow = DataGridView1.Rows(e.RowIndex)
      Dim headerText As String = DataGridView1.Columns(e.ColumnIndex).HeaderText
      If dgv1.Cells(0).Value = True Then
        If Not headerText.Equals("Short Desc") Then Return
        If String.IsNullOrEmpty(e.FormattedValue.ToString()) Then
          DataGridView1.Rows(e.RowIndex).ErrorText = "Short Desc Can not be blank ! "
          e.Cancel = True
        End If
      End If

Without checkbox:

 Dim dgv1 As DataGridViewRow = DataGridView1.Rows(e.RowIndex)
      Dim headerText As String = DataGridView1.Columns(e.ColumnIndex).HeaderText
        If Not headerText.Equals("Short Desc") Then Return
        If String.IsNullOrEmpty(e.FormattedValue.ToString()) Then
          DataGridView1.Rows(e.RowIndex).ErrorText = "Short Desc Can not be blank ! "
          e.Cancel = True
      End If**
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文