を使用してグリッドビューを持って<asp:BoundField DataField="Comments" HeaderText="COMMENTS" />
います。グリッドビューにデータが入力されたときに、Commemnt 列に最初の 20 文字のみを表示したいと思います。VBでこれを達成する方法はありますか? ありがとうございました。
2440 次
1 に答える
1
1 つの方法は、分離コードでRowDataBound
イベントを使用することです。
Protected Sub Gridview1_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles Gridview1.RowDataBound
Select Case e.Row.RowType
Case DataControlRowType.DataRow
' assuming the comments column is the first column '
If e.Row.Cells(0).Text.Length > 20 Then
e.Row.Cells(0).Text = e.Row.Cells(0).Text.Substring(0, 20)
End If
End Select
End Sub
この方法でのみテキストにアクセスできることに注意してくださいBoundFields
。コントロールの参照を取得するために使用TemplateFields
する必要がありFindControl
ます(fe a TextBox
)。
を使用するTemplateField
場合は、aspx マークアップのテキストを制限することもできます。
<asp:TemplateField HeaderText="Commnents">
<ItemTemplate>
<asp:TextBox ID="txtID"
MaxLength="20" runat="server"
Text='<%# DataBinder.Eval(Container.DataItem, "Comments") %>'>
</asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
于 2013-01-29T20:16:16.723 に答える