プログラムでにを追加しようとしButtonField
ていGridView
ます。
したがって、aspxでは次のようになります。
<asp:ButtonField ButtonType="Image"
CommandName="buttonClicked"
ImageUrl="~/checkdailyinventory.bmp" />
これは、C#で複製しようとしたものです。
GridView genGridView = new GridView();
//Where the xml gets bonded to the data grind
XmlDataSource xds = new XmlDataSource();
xds.Data = xml;
xds.DataBind();
xds.EnableCaching = false;
genGridView.DataSource = xds;
genGridView.DataBind();
// formating is done here
ButtonField test3 = new ButtonField();
test3.ButtonType = ButtonType.Image;
test3.CommandName = "buttonClicked";
test3.ImageUrl = "~/checkdailyinventory.bmp";
genGridView.Columns.Add(test3);
これにより、新しい列は作成されません。ヘルプが表示されます。
更新の進捗状況
列を作成できましたが、これらは最初の列であり、最後の列ではありません。これを行うには、ボタンを作成し、データバインディングの前に列を追加する必要がありました。
GridView genGridView = new GridView();
//Where the xml gets bonded to the data grind
XmlDataSource xds = new XmlDataSource();
xds.Data = xml;
xds.DataBind();
xds.EnableCaching = false;
//Set the rowdatabound before binding. This will allow the correct function to be called.
genGridView.RowDataBound += new GridViewRowEventHandler(inventoryGridView_RowDataBound);
genGridView.RowCommand += new GridViewCommandEventHandler(inventoryGridView_RowCommand);
ButtonField test3 = new ButtonField();
test3.ButtonType = ButtonType.Image;
test3.CommandName = "buttonClicked";
test3.ImageUrl = "checkdailyinventory.bmp";
genGridView.Columns.Add(test3);
genGridView.DataSource = xds;
genGridView.DataBind();
また、すべての変数が正しく設定されていても、ボタンは実際には何も実行できませんが、一度に1ステップずつ推測します。
マイナー編集:
ボタンが機能しない理由がわかったと思います。HTMLでは、次のようになります。
<td><input type="image" src="checkdailyinventory.bmp" onclick="javascript:__doPostBack('inventoryGridView','buttonClicked$2')" style="border-width:0px;" /></..>
実際には次のようになります。
<td><input type="image" src="checkdailyinventory.bmp" onclick="javascript:__doPostBack('ctl03','buttonClicked$2')" style="border-width:0px;" /></..>
ct103
だから私はどのように置き換えるかを理解する必要がありますinventoryGridView