winform中combobox和datagridview的问题

lbc1451533 2010-12-14 06:05:14
1:比如说我有一个combobox1,combobox1的前三项分别是<添加>、<修改>、<删除>;后面的项就是从数据库读出来的。我想在选择<添加>、<修改>或者<删除>后,combobox的文本框中显示为空白。要不当用户保存的时候,总不能把<添加>、<修改>、<删除>这些也保存在数据库中吧。

2:在datagridview中,比如有一列的数据类型为numeric(18,4) 我在这列的某个单元格编辑了18,当我离开这个单元格时,如何让这个单元格的内容变成18.0000?

3:我在datagridview的某个单元格添加了combobox控件,当我combobox是焦点时,按Enter弹出下拉框,而不是跳至datagridview的下一行?
...全文
104 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lbc1451533 2010-12-15
  • 打赏
  • 举报
回复
顶,等高手的到来
1楼的,你的代码如果不在datagridview中是能弹出下拉框,但是在datagridview中就不起作用了。
mmdabc 2010-12-15
  • 打赏
  • 举报
回复
第一个修改下 this.cbo.Column.Clear(); 清空所有列 两个都试试


分多给俺吧 穷死了
mmdabc 2010-12-15
  • 打赏
  • 举报
回复
1. this.cbo.Items.Clear(); 清空所有记录 -- 加在你<添加>、<修改>、<删除>代码前面试试。

2.在dataDataGrid中,
在属性生成器-> 列-> 数据格式设置表达式:
{0:N4}%
就能实现

3. 直接按tab 键不就行了? 按enter = 单击事件 当然弹出下拉框。 不过 ,你要实现,也是不可能,设置键盘值就行了 具体怎么弄我忘的差不多了

大概是 if(e.KeyValue == 13) ENTER的键值是13 这意思就是当按下回车 然后下面密码框得到焦点 把我的密码框换成你的控件名字就OK拉
{
txtPwd.Focus();
}

wuyq11 2010-12-14
  • 打赏
  • 举报
回复
combobox1.items.add( "")

DataGridViewCellStyle { Format=N2 }

[DllImport("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
const int CB_SHOWDROPDOWN = 0x014F;
const int CB_GETDROPPEDSTATE = 0x0157;
private void comboBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
SendMessage(comboBox1.Handle, CB_SHOWDROPDOWN, 1, 0);
e.Handled = true;
}
}

110,565

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧