OnRowCommand eval для объединенных ячеек

1

Во-первых, вот небольшая скрипка для представления моего 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
    Где вы меняете ColumnSpan? Какое событие?
  • 0
    Какие значения вы передаете в «col3» или «col2»? Я не понимаю У вас есть кнопка с изображением, которую, когда вы нажимаете, вы собираетесь запустить _RowCommand - наверняка вы передадите какой-нибудь ID или другой? Что означает «col3» или «col2»?
Показать ещё 1 комментарий
Теги:
gridview

1 ответ

0
Лучший ответ

После еще нескольких переходов и поиска я смог найти этот вопрос, где Элф сделал ответ, который мне очень помог.

Теперь я использую CommandArgument='<%# DataBinder.Eval(Container, "RowIndex") %>' чтобы получить индекс, а затем я работаю оттуда: P

  • 0
    Я всегда передаю уникальный идентификатор для строки и извлекаю из него все нужные мне данные - либо из коллекции DataKeyNames, либо из базы данных.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню