0

我正在使用 C# Web 应用程序。我有一个DataGrid包含 4 列的。三列是标签,一列是 DropDownList。在我的 ddl_SelectedIndexChanged 中,我希望能够从我的 DDL(单元格 [3])中获取选定的值并将其放在同一行的单元格 [2] 中。

这就是我所拥有的:

protected void ddlMachId_SelectedIndexChanged(object sender, EventArgs e)
{
    DropDownList ddl = (DropDownList)sender;

    string val = ddl.SelectedValue.ToString();

    TableCell cell = ddl.Parent as TableCell;
    DataGridItem item = cell.Parent as DataGridItem;

    item.Cells[2] = val;
}  

这给了我一个错误,说 item.Cells[2] 是只读的。

有任何想法吗?谢谢。

4

2 回答 2

1

如果您使用的是DataGrid,请执行以下操作:

protected void ddlMachId_SelectedIndexChanged(object sender, EventArgs e)
{
    DropDownList list = (DropDownList)sender;    
    TableCell cell = list.Parent as TableCell;
    DataGridItem item = cell.Parent as DataGridItem;

    string val = list.SelectedValue.ToString();
    item.Cells[2].Text = val; 
}

如果您使用的是GridView,则必须使用命名容器来获取 gridview 行:

protected void ddlMachId_SelectedIndexChanged(object sender, EventArgs e)
{
    DropDownList ddl = (DropDownList)sender;
    GridViewRow row = (GridViewRow)ddl.NamingContainer;

    string val = ddl.SelectedValue.ToString();
    row.Cells[2].Text = val;
} 
于 2013-10-22T00:24:56.730 回答
0

请尝试:

//Get the actual row, and key for the column...
row.Cells[2].Value = val;
于 2013-10-21T22:18:58.417 回答