繁体   English   中英

通过手动映射列从数据表中逐行填充Datagridview

[英]Fill Datagridview row by row from a datatable by manually mapping columns

我是VB.Net编码器,但尝试进行C#编程
在VB.NET中,我可以像这样轻松编写

For i As Integer = 0 To dt.Rows.Count - 1 'dt is datatable
    dgv.Rows.Add()
    dgv.Rows(i).Cells("Sno").Value = i + 1
    dgv.Rows(i).Cells("itemcode").Value = dt.Rows(i)("itemcode").ToString.Trim
    dgv.Rows(i).Cells("itemname").Value = dt.Rows(i)("itemname")
Next

但是当我用C#编写代码时

for (int i = 0; i <= dt.Rows.Count-1; i++) //dt is datatable
{
    DG.Rows.Add();
    DG.Rows(i).Cells("Sr").Value = i + 1;
    DG.Rows(i).Cells("Itemcode").Value = dt.rows(i)("itemcode");
}

DG.Rows(i).Cells("Sr").Value = i + 1; 给出错误

不可使用的成员'DataGridView.Rows'不能像方法一样使用。

我究竟做错了什么?

在C#中,应使用方括号[]代替括号()

for (int i = 0; i <= dt.Rows.Count - 1; i++)
{
    DG.Rows.Add();
    DG.Rows[i].Cells["Sr"].Value = i + 1;
    DG.Rows[i].Cells["Itemcode"].Value = dt.Rows[i]["itemcode"];
}

尝试使用[]括号代替():

例如

 DG.Rows[i].Cells["Sr"].Value = i + 1;

代替

 DG.Rows(i).Cells("Sr").Value = i + 1;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM