zoukankan      html  css  js  c++  java
  • winform中DataGridView添加ComboBox的最终解决方案(点击ComboBox默认显示当前行的内容)

    第一:

    数据绑定ComBoBox控件

    先在窗体设计时拖一个ComBoBox控件,然后在里面的ITEMS设好你要下拉项,或者从数据库中的表绑定,这个估计都会。

    第二:

    // 将下拉列表框加入到DataGridView控件中,这句放在绑定DataGridView之后写。 在窗体的Load方法中加入:g_DataGridView.Controls.Add(g_ComBoBox);也就是把ComBoBox控件添加到DataGridView控件中
    第三: 在DataGridView控件的CurrentCellChanged方法中写如下代码:

    DataGridViewCell CurrnetCell = g_View.CurrentCell;
    if (CurrnetCell != null && CurrnetCell.OwningColumn.Name == "列名")
    {
    Rectangle TmpRect = g_DataGridView.GetCellDisplayRectangle(CurrnetCell.ColumnIndex, CurrnetCell.RowIndex, true);
    g_ComBoBox.Text = CurrnetCell.Value.ToString();
    g_ComBoBox.Size = TmpRect.Size;
    g_ComBoBox.Top = TmpRect.Top;
    g_ComBoBox.Left = TmpRect.Left;
    g_ComBoBox.Visible = true;
    }
    else
    {
    g_ComBoBox.Visible = false;
    }

    特别注意这一句:g_ComBoBox.Text = CurrnetCell.Value.ToString();

    如果ComBoBox绑定的是两个值,即编码和名称,那么请把这句改为

    g_ComBoBox.SelectedValue= CurrnetCell.Value.ToString(); 要不然点击ComBoBox控件后默认的值不是当前表中选中的值。

    第四:

    在ComBoBox控件的SelectedIndexChanged方法中写:
    g_DataGridView.CurrentCell.Value = g_ComBoBox.Text;

    注意:如果有编码改成:

    g_DataGridView.CurrentCell.Value = g_ComBoBox.SelectedValue.ToString();

    好了,大功告成了。

    来自:http://blog.csdn.net/hfzsjz/article/details/2836979

  • 相关阅读:
    js-html音乐播放
    CSS-实现倒影效果box-reflect
    html-屏蔽按键盘空格键是滚动条向下滚动
    html-禁用右键、键盘F12、网页上选取内容、复制、粘贴
    js-回调函数
    man bash 关于shell的应有尽有 语法、快捷键...
    source vs export AND ctrl d vs ctrl z
    技术----阳春
    限流 降级
    linux TOP
  • 原文地址:https://www.cnblogs.com/gisoracle/p/4244625.html
Copyright © 2011-2022 走看看