私はDataTable
に、ACount
,BCount
およびDCount
の3つのフィールドを含んでいます。 ACount < 0
の場合は、GridView
のいずれかの列に「S」を表示する必要があります。 ACount > 0
の場合、その列に(ラベル内に)「D」を表示する必要があります。 BCount
とDCount
と同じことです。 RowDataBound
関数でこの条件付きチェックを行うにはどうすればよいですか?GridViewのRowDataBound関数
2
A
答えて
5
GridViewのOnRowDataBound
イベントはあなたの友達です:
<asp:gridview
id="myGrid"
onrowdatabound="MyGrid_RowDataBound"
runat="server">
<columns>
<asp:boundfield headertext="ACount" datafield="ACount" />
<asp:boundfield headertext="BCount" datafield="BCount" />
<asp:boundfield headertext="DCount" datafield="DCount" />
<asp:templatefield headertext="Status">
<itemtemplate>
<asp:label id="aCount" runat="server" />
<asp:label id="bCount" runat="server" />
<asp:label id="dCount" runat="server" />
</itemtemplate>
</asp:templatefield>
</columns>
</asp:gridview>
// Put this in your code behind or <script runat="server"> block
protected void MyGrid_RowDataBound(object sender, GridViewRowEventArgs e)
{
if(e.Row.RowType != DataControlRowType.DataRow)
{
return;
}
Label a = (Label)e.Row.FindControl("aCount");
Label b = (Label)e.Row.FindControl("bCount");
Label d = (Label)e.Row.FindControl("dCount");
int ac = (int) ((DataRowView) e.Row.DataItem)["ACount"];
int bc = (int) ((DataRowView) e.Row.DataItem)["BCount"];
int dc = (int) ((DataRowView) e.Row.DataItem)["DCount"];
a.Text = ac < 0 ? "S" : "D";
b.Text = bc < 0 ? "S" : "D";
d.Text = dc < 0 ? "S" : "D";
}
あなたは「S」とレンダリングされた「Dの文字を配置したい場所を私はわからないんだけど、あなたはあなたのニーズを満たすためにrejigすることができるはずです。
2
これは私のために働いています....私は何かを誤解しているので、角かっこを[または] ASPに置き換えなければならなかったので、それに気をつけてください。
[asp:TemplateField runat="server" HeaderText="Header"]
[ItemTemplate]
[asp:Label ID="theLabel" runat="server" Text='[%# Eval("DataSource").ToString()
%]'][/asp:Label]
[/ItemTemplate]
[/asp:TemplateField]
protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Label newLabel = (Label)e.Row.FindControl("theLabel");
if (newLabel.Text.Length > 20) //20 is cutoff length
{
newLabel.Text = lbl.Text.Substring(0, 20);
newLabel.Text += "...";
}
}
}
関連する問題
- 1. Rowdatabound of gridview
- 2. gridviewのrowdataboundイベントでコマンド引数を取得する
- 3. RowDataBoundの2番目のクラスをgridviewの行に追加する
- 4. なぜAsp.Net GridViewのためのRowDataBoundコールバック内のDataRow [ "columnValue"]ヌル
- 5. asp.netのgridview rowdataboundイベントでhtmlコントロールを探しますか? asp.netで
- 6. GridViewの編集時にRowDataBoundを回避する方法は?
- 7. GridView RowDataBoundはコードを実行していません
- 8. Yii Framework GridView関数
- 9. RowDataBound行のハイライト
- 10. ASP.NETネストされたGridViewの場合、DataItemは子GridViewのRowDataBoundイベントでnullを返します。
- 11. AndroidでRowdatabound?
- 12. RowDataBound、buttonfield and boundfield
- 13. asp.netのgridviewに関して
- 14. Gridviewデータソースの行数
- 15. ajax成功関数内でkartik gridview REFRESH関数を呼び出す方法
- 16. javascript関数のGridViewでコンポーネントのプロパティを変更する
- 17. RowDataBoundイベントからハイパーリンクオブジェクトを取得する
- 18. バックグラウンドカラーでパーセンテージバーを表示ASP.Net RowDataBound
- 19. 子の列、グループ化、集約関数を持つRAD GridView
- 20. gridviewテンプレートフィールドのテキストボックスIDをjavascript関数に渡す
- 21. javascript関数へのGridViewから値を渡す方法
- 22. Search +関連モデルをGridView(yii2)
- 23. gridviewに関するC#クエリ
- 24. RowDataBoundの最後の呼び出しでSession変数を更新します。
- 25. RowDataBoundを使用してGridViewに数値の順序を追加するにはどうすればよいですか?
- 26. gridviewの各ステータスの数yii2
- 27. androidのgridviewの行数
- 28. GridViewの複数選択チェックボックス
- 29. GridView右端の数字
- 30. GridView RowCommandの更新機能がjavascript関数に変数を送信する
.NET Frameworkのどのバージョンを使用していますか、どのコントロールを使用しようとしていますか、DataGridView? –