【问题标题】:How to show selected Datagrid cell value in a textBox?如何在文本框中显示选定的 Datagrid 单元格值?
【发布时间】:2013-08-07 23:30:57
【问题描述】:

我正在使用 Visual Studio 2008(我还是个初学者)用 C# 开发一个 Windows Mobile 6.5 应用程序,它连接到一个 SQL CE 数据库。但是,我想将连接到我的数据库的 dataGrid 中选定单元格的值发送到文本框。看起来很有可能,但是我找不到与dataGrid控件相关的单元格单击事件,dataGridView只有一个我认为它仅适用于Windows桌面应用程序。

【问题讨论】:

    标签: c# windows visual-studio-2008 windows-mobile


    【解决方案1】:

    首先,通过选择 GridView 控件并双击位于闪电下方的 Click 字段来连接您的单击事件:

    接下来,扩展已发布的答案:

    private void dataGrid_Click(object sender, EventArgs e) {
      int row = dataGrid1.CurrentCell.RowNumber;
      int col = dataGrid1.CurrentCell.ColumnNumber;
      textBox1.Text = string.Format("{0}", dataGrid1[row, col]);
    }
    

    我使用string.Format,因为有时您的数据可能为空或DBNull.Value

    【讨论】:

      【解决方案2】:

      我认为您需要处理Click 并使用CurrentCell 属性

      【讨论】:

        【解决方案3】:

        我相信你想要Control.Click Event

        Click 事件将 EventArgs 传递给它的事件处理程序,因此它只表示发生了点击。如果您需要更具体的鼠标信息(按钮、点击次数、滚轮旋转或位置),请使用 MouseClick 事件。但是,如果单击是由鼠标以外的动作引起的,例如按 ENTER 键,则不会引发 MouseClick 事件。

        private void dataGrid_Click(object sender, EventArgs e)
        {
            int row_num = _DataGrid.CurrentCell.RowNumber;
            int col_num = _DataGrid.CurrentCell.ColumnNumber;
            object data = _DataGrid[row_num, col_num];
        }
        

        【讨论】:

        • 我明白了,但是是否有可能检索单元格的字符串内容?我试过 _DataGrid.CurrentCell.ToString();但它会再次返回 RowNumber 和 ColumnNumber。
        • 使用 _DateGrid[_DataGrid.CurrentCell.RowNumber, _DataGrid.CurrentCell.ColumnNumber] 访问数据网格单元格值。此外,Paul Yao 在他的《Programming the .Net Compact Framework》一书中为 DataGrid 提供了一个不错的就地编辑解决方案。
        猜你喜欢
        • 2013-05-12
        • 1970-01-01
        • 1970-01-01
        • 2019-02-24
        • 1970-01-01
        • 1970-01-01
        • 2014-05-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多