「合計」という列に負の数のグリッドビューがあります。すべての負の数を角かっこで囲みます。
例えば
Total
76
(-66)
646
(-76)
(-10)
(-6)
16
676
ASP.NETをC#で使用していますが、どうすればよいですか。
または、SQLクエリで実行できますか。グリッドビューはSQLデータソースを介して入力されているため。
「合計」という列に負の数のグリッドビューがあります。すべての負の数を角かっこで囲みます。
Total
76
(-66)
646
(-76)
(-10)
(-6)
16
676
ASP.NETをC#で使用していますが、どうすればよいですか。
または、SQLクエリで実行できますか。グリッドビューはSQLデータソースを介して入力されているため。
この簡単な例を見てください。私はGridviewを使用しています:
C#
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
List<int> x = new List<int>() { 76, -66, 646, -76, -10, -6, 16, 676 };
this.GridView1.DataSource = x;
this.GridView1.DataBind();
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (Convert.ToInt32(e.Row.Cells[0].Text) < 0)
{
e.Row.Cells[0].Text = "(" + e.Row.Cells[0].Text + ")";
}
}
}
}
出力:
Item
76
(-66)
646
(-76)
(-10)
(-6)
16
676
幸運を
編集:SQLの出力を変更して、このためだけに機能させることはしません。
Hanlet Escanoに似たようなことをしますが、解析する代わりに、次のようにデータオブジェクトをケースに入れます。
Default.aspx
<asp:GridView ID="gvGrid" runat="server" AutoGenerateColumns="false" OnRowDataBound="gvGrid_RowDataBound">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Literal ID="litData" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Default.aspx.cs
protected void Page_Load(object sender、EventArgs e){if(!IsPostBack){//データの生成var data = new List(){76、-66、646、-76、-10、-6、16、676};
gvGrid.DataSource = data;
gvGrid.DataBind();
}
}
protected void gvGrid_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
//Strongly Type Controls
var litData = (Literal)e.Row.FindControl("litData");
//Strongly Type Data
var data = (int)e.Row.DataItem;
//Display Data
if (data < 0)
{
litData.Text = "[" + data.ToString() + "]";
}
else
{
litData.Text = data.ToString();
}
}
}
これにはいくつかの利点があります。データはすでにネイティブ形式(int)で保存されており、オブジェクト変数に含まれているだけです。
次に、将来、より複雑なデータオブジェクト(Person / Business / Foo / Barオブジェクト)で複数の列を処理する必要がある場合は、これと同じ手法を使用できます。
グリッドビューのonRowDataBoundイベントを使用して、セルを必要に応じて更新し、角かっこなどを追加します:)
見てみな: