動的データベースから.netに戻るデータGridview
があり、フィールドの1つにセミコロンで区切られた値の長いリストがあります。セミコロンの代わりに改行を使用してこのデータを表示できましたが、このフィールドには最大20の値が含まれる可能性があるため、これを表示するためのより良い方法があると確信しています。
次のコードを使用して、テンプレートフィールドを作成および修正しました。
<asp:TemplateField HeaderText="Amalgamation"
SortExpression="Amalgamation">
<ItemTemplate>
<%# Eval("Amalgamation").ToString().Replace(";", "<br />")%>
</ItemTemplate>
</asp:TemplateField>
このフィールドに入力されるデータの例は次のとおり100001;100002;600001;600006
です。
更新:私はこれを試しましたが、喜びはありませんでした。HTMLで:
<%#PopulateArray((string)(Eval("Amalgamation")))%>
<asp:DropDownList ID="ddlStrings" AutoPostBack="true" runat="server"></asp:DropDownList>
次に、コードビハインドでこの関数を実行します。
public object PopulateArray(string s)
{
string[] sArray = s.Split(';');
DropDownList ddl = new DropDownList();
ddl = (DropDownList)this.Page.FindControl("ddlStrings");
ddl.DataSource = sArray;
ddl.DataBind();
return sArray;
}
次の行でNullReferenceExceptionが発生します:ddl.DataSource = sArray