В gridview я хочу привязать данные к текстовому полю. Как мне это сделать?
У меня есть текстовое поле в моем GridView. Я хочу связать это текстовое поле с необходимыми данными. Как мне это сделать? Ниже приведены мои файлы aspx & aspx.vb.
aspx:
<asp:GridView ID="grdItems" runat="server" Width="100%" AllowPaging="True" CellPadding="4" ForeColor="#333333" GridLines="Horizontal" AutoGenerateColumns="False"> <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" Font-Size="X-Small" /> <RowStyle BackColor="#EFF3FB" /> <EditRowStyle BackColor="#2461BF" /> <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" /> <pagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" Font-Size="Small" /> <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> <AlternatingRowStyle BackColor="White" /> <Columns> <asp:BoundField DataField="actionItemId" HeaderText="Item Id" > <ItemStyle Font-Size="Small" VerticalAlign="Top" /> <HeaderStyle Font-Bold="True" Font-Size="Small" HorizontalAlign="Left" Width="65px" /> <FooterStyle Font-Size="X-Small" /> </asp:BoundField> <asp:TemplateField HeaderText="Description" > <ItemStyle Font-Size="Small" VerticalAlign="Top" /> <HeaderStyle Font-Size="Small" HorizontalAlign="Left" Width="265px"/> <ItemTemplate> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Actions Taken"> <ItemTemplate> <tr> <td colspan="1"> <asp:TextBox runat="server" ID="actionsTB" TextMode="MultiLine"> </asp:TextBox> </td> </tr> </ItemTemplate> <ItemStyle Font-Size="Small" VerticalAlign="Top" /> <HeaderStyle Font-Bold="True" Font-Size="Small" HorizontalAlign="Left" /> </asp:TemplateField> </Columns> <pagerSettings Mode="NumericFirstLast" /> </asp:GridView>
aspx.vb:(метод привязки для этого столбца)
Private Sub GetActionsTaken(ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs, ByVal curActionItemId As Int32) Dim flexdata As DataSet = Nothing flexdata = CType(Session("flexdata"), DataSet) Dim myRows() As DataRow Dim sbData As New System.Text.StringBuilder Dim dbhelper As New DbHelper myRows = flexdata.Tables(table.PastActivities).Select("actionitemid=" & curActionItemId) For Each myRow As DataRow In myRows sbData.Append("" & dbhelper.ConvertDrString(myRow.Item(colActivity.occurredOn)) & " - " & "" & dbhelper.ConvertDrString(myRow.Item(colActivity.personFullName)) & "<br>") sbData.Append(dbhelper.ConvertDrString(myRow.Item(colActivity.activity)) & "<br><br>") Next e.Row.Cells(gridCol.ActionsTaken).Text = sbData.ToString dbhelper = Nothing End Sub
Ранее данные передавались непосредственно в текст столбца, как показано выше в файле aspx.vb. Но теперь у меня есть текстовое поле в том же столбце, и я хочу связать те же данные с этим текстовым полем. Любая помощь будет очень признательна. Спасибо!
Что я уже пробовал:
Новое ASP.Net
Gerry Schmitz
Одна строка под каждым "рядом столбцов" по сравнению с дополнительным столбцом ничего не покупает; только путаница для того, кто пытается заглянуть в столбец.
Member 13952925
Да. Но мое требование состоит в том, чтобы в этой колонке было много текста, и я хочу уменьшить количество страниц конечных результатов таблицы. Если я перемещу этот текст в отдельную строку, я могу распространить текст по всему дисплею, и количество моих страниц уменьшится.
Vincent Maverick Durano
Ты о чем это говоришь ASP.NET GridView или DataGridView WinForm?
Member 13952925
ASP.Net GridView @Vincent
Vincent Maverick Durano
Если ваше намерение состоит только в отображении данных, то вы можете использовать элемент управления повторителем вместо этого, чтобы иметь большую гибкость с точки зрения форматирования макета. Вы также можете использовать DataList, так как он предоставляет такие свойства, как RepeatLayout и RepeatDirection, которые вы можете установить.
Member 13952925
Так что, это не возможно, чтобы сделать это на сетке?
Vincent Maverick Durano
Возможно, однако, что это противоречит цели, поскольку GridView предназначен для выполнения CRUD в табличном/строковом формате. Он не обеспечивает большей гибкости с точки зрения компоновки по сравнению с ретранслятором.
Member 13952925
О. окей. Спасибо, Винсент. Я очень ценю вашу помощь.
Vincent Maverick Durano
Еще бы! Я добавил быстрый пример кода для вашей справки в разделе решение. Надеюсь, это поможет!
Member 13952925
Спасибо за код, Винсент. Я постараюсь поступить именно так.
Vincent Maverick Durano
Без проблем. Только одна вещь. Пожалуйста, не забудьте закрыть свою тему, отметив решение, которое поможет вам ответить ради будущих читателей. Таким образом, когда кто-то ищет ту же проблему,он может легко сориентироваться, какое решение поможет вам. Спасибо!
Member 13952925
Итак, Винсент, мой босс попросил меня изменить существующий GridView вместо преобразования его в ретранслятор. Итак, перейдя к вопросу, я добавил текстовое поле внутри GridView. Я хочу привязать необходимые данные к этому текстовому полю. Как мне это сделать? Я обновляю вопрос с помощью своего кода. Смотреть выше.
Vincent Maverick Durano
Ну, теперь это совсем другой вопрос. Вместо этого вы должны создать отдельный поток. Прямо сейчас эта тема смешана с предыдущими обсуждениями, и она полностью сбивает с толку других читателей, изучающих ваш вопрос и существующие ответы/обсуждения.
Member 13952925
Конечно. Я создам новую нить.
Vincent Maverick Durano
Спасибо. Дайте мне знать, чтобы я мог дать вам быстрый пример.
Member 13952925
Винсент, я отправил новый вопрос. Я очень ценю вашу помощь.
Vincent Maverick Durano
Я уже ответил на вашу другую тему.