c#dataGridView中双击行,赋值行数据到弹出窗的,textbox和combox中

「已注销」 2014-12-11 10:42:25
c#dataGridView中双击行,赋值行数据到弹出窗的,textbox和combobox中


须实现combox下拉中显示数据库中所对应的数据,赋值过来的数据为下拉中的一个,怎么赋值,求代码

textbox和combobox是在弹出窗口中!

小白在此感谢!!!
...全文
901 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wind_cloud2011 2014-12-13
  • 打赏
  • 举报
回复 1

 private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            //获得当前选中的行  
            int rowindex = e.RowIndex;           
            try
            {
                textBox1.Text = dataGridView1.Rows[rowindex].Cells[0].Value.ToString(); //获得当前行的第0列的值  
               comboBox1.Text = dataGridView1.Rows[rowindex].Cells[1].Value.ToString();     //获得当前行的第一列的值                            
            }
            catch (Exception exc) { }  
        }

exception92 2014-12-12
  • 打赏
  • 举报
回复
在 CellContentDoubleClick 事件中获取行的cells的信息,窗体间传值参见,http://bbs.csdn.net/topics/390128592
SmileSkyNet 2014-12-12
  • 打赏
  • 举报
回复
5楼可以,但要更完美的话应该在弹窗中写方法而不是写在构造函数中 Form1加以下方法 public void SetTextBoxValue(string value) { textBox1.Text=value; } public void FullComBox(string value) { comBox1.Items.Add(value); } 这样对于dataGridView行中有多个数据要加入comBox时适用 5楼的只能加入一个值
BestSmiles 2014-12-12
  • 打赏
  • 举报
回复


        DataTable dt;
        private string text;
        private string combox;
        /// <summary>
        /// 获取双击GridView中的数据
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dataGridView1_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            //双击行时能得到rowIndex
            int index = e.RowIndex;
            //从全局变量dt中取出弹出界面需要的值
            string text = dt.Rows[index]["需要的值textbox"].ToString();
            string combox = dt.Rows[index]["需要的值combobox"].ToString();
            //利用构造函数传值到弹出页面,并在构造函数中做赋值操作
            Form1 frm = new Form1(text, combox);
            frm.ShowDialog();
        }
        private void BindData()
        {
            //绑定数据的时候把DataTable保存为全局变量dt
            dt = new DataTable();
            this.dataGridView1.DataSource = dt;
        }
        /// <summary>
        /// 弹出界面的构造函数
        /// </summary>
        /// <param name="text"></param>
        /// <param name="combox"></param>
        public Form1(string text, string combox)
        {
            // TODO: Complete member initialization
            this.textBox.Text = text;
            this.combox.selectItem = combox;
        }
Tucker_blog 2014-12-12
  • 打赏
  • 举报
回复
双击时获取那一行数据的标示,显示窗体时通过标示查询数据库中的数据 把值赋给控件。
kylewell 2014-12-12
  • 打赏
  • 举报
回复
方法一:作为新弹出窗体的属性传递。一般对新弹出窗体的操作有影响。 方法二:通过委托事件传递。 方法三:传递BindingSource对象,一般用来传递普通的数据。 最好要看具体场景具体选择哪种。
threenewbee 2014-12-11
  • 打赏
  • 举报
回复
http://bbs.csdn.net/topics/360140208

110,533

社区成员

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

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

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