ここで私はコードビハインドからすべてのことをしました。私は動的にグリッドビューを作成しました。datatableをgridviewに動的に使用するリンクボタンを追加する方法は?
DataTable dt = null;
dt = loadDynamicGrid(columnname、ds);
GridView grdnew = new GridView();
grdnew.DataSource = dt;
grdnew.DataBind();
private DataTable loadDynamicGrid(string [] column,DataSet ds)
{
#region Code for preparing the DataTable
DataTable dt = new DataTable();
//Create an ID column for adding to the Datatable
DataColumn dcol ;//= new DataColumn(ID1, typeof(System.Int32));
ButtonColumn btncolm;
HyperLinkColumn hplink;
for (int i = 0; i < column.Count(); i++)
{
if (column[i] != "" & column[i]!=null)
{
if (column[i] == "BUY" || column[i] == "Buy" || column[i] == "BuyNow" || column[i] == "Details" || column[i] == "ViewDetails" || column[i] == "BuyQty" || column[i] == "Purchase")
{
//btncolm = new ButtonColumn();
//btncolm.HeaderText = column[i];
//btncolm.Text = column[i];
//dt.Columns.Add(btncolm.Text);
hplink = new HyperLinkColumn();
hplink.HeaderImageUrl = "http://www.google.com";
hplink.HeaderText = column[i];
hplink.Text = column[i];
dt.Columns.Add(hplink.Text);
}
else
{
dcol = new DataColumn(column[i], typeof(System.String));
dt.Columns.Add(dcol);
}
}
}
int k=0;
foreach (DataRow dr in ds.Tables[0].Rows)
{
DataRow myrow = dt.NewRow();
for (int j = 0; j < column.Count(); j++)
{
if (column[j] != "" & column[j] != null)
{
string sdfsd = Convert.ToString(dr[column[j]]);
if (column[j] == "BUY" || column[j] == "Buy" || column[j] == "BuyNow" || column[j] == "Details" || column[j] == "ViewDetails" || column[j] == "BuyQty" || column[j] == "Purchase")
{
//myrow[column[j]] = "http://www.google.com1/";
myrow[column[j]] = dr[column[j]];
}
else
{
if (Convert.ToString(dr[column[j]]).TrimEnd() == " ")
{
myrow[column[j]] = "";
}
else
{
myrow[column[j]] = dr[column[j]];
}
}
if (column[j] == "Stock" || column[j] == "QtyInStock" || column[j] == "Qty" || column[j] == "Available" || column[j].ToLower() == "onhand" || column[j] == "QuantityOnHand" || column[j] == "QtyAvailable" || column[j] == "InStock" || column[j] == "Avail" || column[j] == "Inventory" || column[j] == "Quantity" || column[j] == "Availability")
{
if (Convert.ToString(dr[column[j]]) != "0" && Convert.ToString(dr[column[j]]) != "" && dr[column[j]] != null && Convert.ToString(dr[column[j]]).TrimEnd()!=" ")
{
stock = dr[column[j]].ToString();
}
}
}
}
k++;
dt.Rows.Add(myrow);
}
#endregion
column = null;
return dt;
}
私はDIVのたびに追加等:
mydiv.Controls.Add(grdnew)。
上記のように、私はgridview.Hereにバインドするデータの異なるテーブルのループを繰り返すgridview.soに私はハイパーリンクの列を追加しましたが、私はgrid.Iのリンクボタンを取得していないgrid.soにバインドするデータのテーブルが20以上あるので、グリッドを動的に作成することをお勧めします。
、グリッドからテーブルに変更する必要はありますか? – tiru
なぜですか?これはテーブルにlinkbuttonを生成したい場合にグリッドビューでリンクを動的に追加したい場合はテンプレートフィールドを作成し、そこにlinkbuttonを生成します。 – Neha
このコードを書く場所を教えてください。 – tiru