日期:2014-05-17  浏览次数:21522 次

dev gridcontrol怎么获取选中行的某一列的值呢?
有三个问题
1 gridcontrol怎么获取选中行的某一列的值呢
 private void GridView1_Click(object sender, EventArgs e)
        {
           string b =(string)GridView1.Columns["ClassName"];
        }
会提示无法将gridcolumn转为string

2 我的这个gridcontrol1是与一个数据源bindingsource绑定的。
现在我想向gridview1中插入一行,或是向数据源中插入一行,然后让它刷新显示,该怎么写呢?

3 我看网上写DataRow vCurrenRow = this.gridData.gridView1.GetFocusedDataRow();
  但是当我写 this.gridData.后,后面的提示中却没有gridview1啊

我是C#新手,请大家帮我。

------解决方案--------------------
 string b =GridView1.rows[3].cell["ClassName"].value;(没vs,拼写可能有问题,意思到了)
------解决方案--------------------
GridView1.GetData(GridView1.FocusedRowHandle)
获取的是选中的那一行的数据 到那行里面去取,没有绑定的值也取的到

 string b =(string)GridView1.Columns["ClassName"];这个获取的是那一列,所以出错
第二个往gridview 里面add
第三个直接用gridview1
------解决方案--------------------
引用:
GridView1.GetData(GridView1.FocusedRowHandle)
获取的是选中的那一行的数据 到那行里面去取,没有绑定的值也取的到

 string b =(string)GridView1.Columns["ClassName"];这个获取的是那一列,所以出错
第二个往gridview 里面add
第三个直接用gridview1


写错了
是DataRow dr = gridView2.GetDataRow(gridView2.FocusedRowHandle);
------解决方案--------------------
如果是gridView控件
问题一:
        foreach (GridViewRow gvr in gvControl.Rows)
        {
            if (gvr.RowType == DataControlRowType.DataRow)
            {
                string cellValue = gvr.Cells[0].Text;
            }
        }

问题二调用:
        gvControl.DataSource = 新数据源;
        gvControl.DataBind();

问题三:
你说的应该不是gridview控件,应该是DEV控件里面的gridView,详情请看
http://blog.163.com/china__xuhua/blog/static/199723169201211111223418/

------解决方案--------------------
直接给你上码:
1、获取选中行的某列的值:object ojb =GridView1.getrowcellvalue(GridView1.focusedrowhandle,"列名");
2、看数据源是什么类型,如果是datatable 则:datatable dtnew=(datatable)gridcontrol1.datasource,然后,把你要添加的Datarow dr =dtnew.newrow();dr[0]="";...
dtnew.rows.add(dr);
dtnew.accepchanges();添加完毕,在重新绑一次gridcontrol1.datasource=dtnew;
在这个GridView1添加一行一样的,都要在绑定的数据源中添加不然你刷新后就不见了你添加的行。
3、不是这样写的你的写法错了。DataRow vCurrenRow = this.gridData.gridView1.GetFocusedDataRow();
应该是这样写:DataRow vCurrenRow = this.gridView1.GetDataRow(gridview1.focusedrowhandle);