首先,Here is a little fiddle to represent my gridview。
我有一个gridview,我在某些行上合并了单元格。然后,我需要能够从未合并的两个单元格和已合并的单元格中获取数据。
所以我有一个OnRowCommand,它接受commandArgument <%#Eval("col3")%>
。这适用于没有合并单元格的行,但是对于longcell
的行,它不起作用。我也试过<%#Eval("col2")%>
但没有成功。
这里是gridview代码(简化):
<asp:GridView ID="myGridview" runat="server" AutoGenerateColumns="false"
OnRowCommand="myGridview_RowCommand">
<Columns>
<asp:BoundField DataField="col1" HeaderText="col1" />
<asp:BoundField DataField="col2" HeaderText="col2" />
<asp:BoundField DataField="col3" HeaderText="col3" />
<asp:TemplateField>
<HeaderTemplate>
Actions
</HeaderTemplate>
<ItemTemplate>
<asp:ImageButton ID="imbEdit" runat="server" ImageUrl="~/css/images/Edit.png" Width="16" CommandName="wEdit" CommandArgument='<%#Eval("col3")%>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
这里是我合并单元格的地方:
foreach (int i in rowIndexes)
{
myGridview.Rows[i].Cells[1].ColumnSpan = 2;
myGridview.Rows[i].Cells.RemoveAt(2);
}
答案 0 :(得分:0)
经过一些google搜索和搜索堆栈溢出后,我设法找到了this问题,其中Elph做了一个帮助我很多的答案。
我现在使用CommandArgument='<%# DataBinder.Eval(Container, "RowIndex") %>'
获取索引,然后我从那里开始工作:P