1 把不想见的this.DataGridView.Columns[3].Visible=False;//第4列不可见
2 点击Button的时候 
this.txtID.Text=this.DataGirdView.CurrentRow.Cell[0].Value.ToString();//把当前行的第一个Cell的值赋给textbox

解决方案 »

  1.   

    1、查询的时候不使用select * from tblname,而是用select id,name,... form tblname
    或按照1楼的方法。
      

  2.   

    1、可以自己定义想要显示哪些列的啊!想显示那列就把哪列绑定上去好了!
                dgv_show.Columns.Add("bid", "采购单号");
                dgv_show.Columns.Add("in_date", "登录日期");
                dgv_show.Columns.Add("buy_date", "采购日期");
                dgv_show.Columns.Add("provide_id", "供应商");     
                dgv_show.Columns.Add("buy_empid", "采购员");
                dgv_show.Columns.Add("flag_ischeck", "审核状态");
                dgv_show.Columns.Add("buy_moneytotal", "采购总金额");
                dgv_show.Columns.Add("havepay", "已付金额");       
                dgv_show.Columns.Add("get_date", "交货日期");
                dgv_show.Columns.Add("get_address", "送货地点");
                dgv_show.Columns.Add("get_empid", "收货人");
                dgv_show.Columns.Add("get_house", "收货仓库");
                dgv_show.Columns.Add("esc", "备注");
                dgv_show.RowHeadersWidth = 30;
                string sqlconn = "data source=.;database=hc;uid=sa;pwd=";
                SqlConnection con = new SqlConnection(sqlconn);
                con.Open();
                SqlCommand cmd = new SqlCommand(Form1.sql, con);
                SqlDataReader sr = cmd.ExecuteReader();
                while (sr.Read())
                    {
                        string[] ss ={ sr["bid"].ToString(), sr["in_date"].ToString(), sr["buy_date"].ToString(), sr["provide_id"].ToString(), sr["buy_empid"].ToString(), sr["flag_ischeck"].ToString(), sr["buy_moneytotal"].ToString(), sr["havepay"].ToString(), sr["get_date"].ToString(), sr["get_address"].ToString(), sr["get_empid"].ToString(), sr["get_house"].ToString(), sr["esc"].ToString() };
                        this.dgv_show.Rows.Add(ss);
                    }
    2、this.txtID.Text=this.DataGirdView.CurrentRow.Cell[0].Value.ToString();楼上的就可以了!
      

  3.   

    http://blog.csdn.net/fangxinggood/archive/2007/04/11/1561011.aspx#818596
      

  4.   

    谢谢楼上的各位..已经搞定..
    现在又有一个新问题..怎样在FORM1中使用FORM2的控件呢?
      

  5.   

    最简单就是把form2中要用的控件公开,public
      

  6.   

    给TextBox赋值还有一个方法:
    把各个TextBox的Name统一为txt+要显示列的列名,如txtID,txtNAME等
    private void button1_Click(object sender, EventArgs e)
            {
                foreach (DataGridViewCell cell in this.dataGridView1.CurrentRow.Cells)
                {
                    ((TextBox)this.Controls.Find("txt" + this.dataGridView1.Columns[cell.ColumnIndex].HeaderText,false)[0]).Text = cell.Value.ToString();
                }
            }
    这里,TextBox的个数必须跟表里列的个数对应,不然会出錯。把没用的隐藏便可。
      

  7.   

    是不是要传值?那就用构造函数吧!属性什么的也都可以!
    form2:
    namespace 传值
    {
        public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }
            public Form2(string mm)
            {
                InitializeComponent();
                this.label1.Text = mm;
            }
    namespace 属性传值
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }        private void button1_Click(object sender, EventArgs e)
            {            
                Form2 frm = new Form2(this.textBox1.Text);
                frm.ShowDialog();
            }
      

  8.   

    CSDN始终是我遇到问题是最想来的地方啊。我要回到个问题都不给机会....
      

  9.   

    http://blog.csdn.net/fangxinggood/archive/2007/04/11/1561011.aspx#818596