我正在将一堆代码从vb.net转换为c#,我不太了解vb.net所以我遇到了很多问题。
有人可以帮我看看这里有什么问题吗?
protected void GenerateSalaryPunchesTable()
{
this.dgvPunchs.Rows.Clear();
string[] DateRange = this.cboPayPeriods.SelectedItem.Text.ToString().Replace(" ", "").Split('-');
while (Convert.ToDateTime(DateRange[0]) <= Convert.ToDateTime(DateRange[1]))
{
if (Convert.ToDateTime(DateRange[0]).DayOfWeek != DayOfWeek.Saturday & Convert.ToDateTime(DateRange[0]).DayOfWeek != DayOfWeek.Sunday)
{
Infragistics.WebUI.UltraWebGrid.UltraGridRow nRow = new Infragistics.WebUI.UltraWebGrid.UltraGridRow();
nRow.Cells.Add();
// Date Cell
nRow.Cells.Add();
// Worked CB
nRow.Cells.Add();
// Vacation CB
nRow.Cells.Add();
// Sick CB
nRow.Cells.Add();
// Holiday CB
nRow.Cells.Add();
// Error
nRow.Key = Convert.ToDateTime(DateRange[0].ToString()).ToShortDateString();
nRow.Cells[0].Value = Convert.ToDateTime(DateRange[0].ToString()).ToShortDateString();
nRow.Cells[1].Value = 0;
nRow.Cells[2].Value = 0;
nRow.Cells[3].Value = 0;
nRow.Cells[4].Value = 0;
nRow.Cells[5].Value = "";
this.dgvPunchs.Rows.Add(nRow);
}
DateRange[0] = Convert.ToDateTime(DateRange[0]).AddDays(1);
}
}
这是给我的错误:
错误4“Infragistics.Web.UI.GridControls.ControlDataRecordCollection.Add(Infragistics.Web.UI.GridControls.ControlDataRecord)”的最佳重载方法匹配有一些无效的参数
错误5参数1:无法从'Infragistics.WebUI.UltraWebGrid.UltraGridRow'转换为'Infragistics.Web.UI.GridControls.ControlDataRecord'
以下是控件:
<ig:WebDataGrid ID="dgvPunchs" runat="server" Height="350px" Width="400px">
</ig:WebDataGrid>
它是从VB.net和旧版本的Infragistics转换而来的。到目前为止,我无法弄清楚这一点。
编辑:
我尝试了这个并且它也没有用......
Infragistics.Web.UI.GridControls.ControlDataRecord nRow =
Infragistics.Web.UI.GridControls.ControlDataRecord();
//Infragistics.WebUI.UltraWebGrid.UltraGridRow nRow = new Infragistics.WebUI.UltraWebGrid.UltraGridRow();
答案 0 :(得分:1)
发生异常是因为您将UltraGridRow添加到WebDataGrid或WebHierarchicalDataGrid的rows集合,而UltraGridRow与UltraWebGrid一起使用。
由于您更改了正在使用的网格,因此代码不会有1:1的映射,因此这会增加转换的复杂性。你最好看看你想要完成什么,然后编写新网格控件所需的代码。
通常对于数据行,WebDataGrid使用GridRecord对象,您可以测试创建其中一个以向网格添加新行。
请注意,从您调用的方法看来,您正在动态创建网格的所有数据,如果是这种情况,那么您最好创建一个DataTable并将网格绑定到DataTable而不是直接使用网格,因为网格被设计为绑定到数据。