Итак, мне нужно создать список элементов из базы данных, и я обычно делаю это с помощью GridView; однако для этого клиента требуется, чтобы, когда они выбирают элемент из списка, он автоматически отображает изображение элемента в другом месте.ASP.NET TableCell OnSelected?
Итак, я создал таблицу, и я создаю строки из кода позади, чтобы заполнить его.
Это таблица:
<asp:Table ID="tblWatches" CssClass="table table-striped" runat="server" Width="50%" BorderStyle="Double" BorderColor="Black">
<asp:TableRow ID="TableRow1" runat="server">
<asp:TableCell ID="tblCell1">
<asp:Label ID="code" runat="server" Text="code"></asp:Label>
</asp:TableCell>
<asp:TableCell ID="tblCell2">
<asp:Label ID="stock" runat="server" Text="stock"></asp:Label>
</asp:TableCell>
<asp:TableCell ID="tblCell3">
<asp:Label ID="purchased" runat="server" Text="purchased"></asp:Label>
</asp:TableCell>
<asp:TableCell ID="tblCell4">
<asp:Label ID="price" runat="server" Text="price"></asp:Label>
</asp:TableCell>
</asp:TableRow>
</asp:Table>
В коде позади, я создаю строки так:
DataView view;
view = getWatches();
TableRow rowNew;
TableCell cellNew;
Label lblNew;
for (int i = 0; i < view.Count; i++)
{
rowNew = new TableRow();
tblWatches.Rows.Add(rowNew);
cellNew = new TableCell();
lblNew = new Label();
lblNew.Text = Convert.ToString(view[i][1]);
cellNew.TabIndex = Convert.ToInt16(i + 1);
cellNew.Controls.Add(lblNew);
rowNew.Cells.Add(cellNew);
cellNew = new TableCell();
lblNew = new Label();
lblNew.Text = Convert.ToInt32(view[i][2]).ToString();
cellNew.Controls.Add(lblNew);
rowNew.Cells.Add(cellNew);
cellNew = new TableCell();
lblNew = new Label();
lblNew.Text = Convert.ToString(view[i][3]);
cellNew.Controls.Add(lblNew);
rowNew.Cells.Add(cellNew);
cellNew = new TableCell();
lblNew = new Label();
lblNew.Text = Convert.ToString(view[i][4]);
cellNew.Controls.Add(lblNew);
rowNew.Cells.Add(cellNew);
}
Это прекрасно работает. Он создал строки, и я могу перебирать их с помощью клавиши Tab. Дело в том, что теперь я хочу иметь возможность использовать событие onselect, поэтому, когда клиент перебирает элементы, окно изображения обновляется. Но TableCell не имеет этого события. Есть ли обходной путь? Это вообще возможно?
P.S .: Почему табуляция на велосипеде? Они хотят, чтобы список выглядел как электронная таблица Excel, где вы можете перемещать элементы с помощью клавиш со стрелками. Самое близкое, что мне удалось сделать, это TabIndex.
Постарайтесь добавить событие непосредственно в таблицу. Затем получите идентификатор выбранной ячейки. –
В отличие от форумов, мы не используем «Спасибо», «Любая помощь оценена» или подписи на [so]. См. «[Должны ли« Привет »,« спасибо », теги и приветствия удалены из сообщений?] (Http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be –
Извините, я понятия не имел! Будет ли это помнить для будущей справки! – Franconstein