gridview绑定ASP.net c# [英] gridview binding ASP.net c#
问题描述
我想将我的网格绑定到数据库..请在下面找到我的代码: -
.aspx: -
< asp:GridView ID = GridView1 runat = server >
< 列 >
< asp:BoundField DataField = t ran_date HeaderText = 交易日期
SortExpression = tran_date / >
< asp:BoundField < span class =code-attribute> DataField = RSQ HeaderText = 交易现金
SortExpression = RSQ / >
< asp:BoundField DataField = RSU HeaderText = 现金单元
< span class =code-attribute> SortExpression = RSU < span class =code-attribute> / >
< asp:BoundField DataField = CSQ HeaderText = 信用销售
< span class =code-attribute> SortExpression = CSQ / >
< asp:BoundField DataField = CSU HeaderText = 信用单位
SortExpression = CSU / >
< asp:BoundField DataField = iAmount HeaderText = 金额 < span class =code-attribute>
< span class =code-attribute> SortExpression = iAmount / >
< /列 >
< / asp:GridView >
aspx.cs:---
public void fillgrid()
{
conns();
SqlConnection con = new SqlConnection(conn);
SqlCommand com;
尝试
{
con.Open();
com = new SqlCommand( usp_Dailysales_main ,con);
com.CommandType = CommandType.StoredProcedure;
com.Parameters.AddWithValue( @ FrmDate,DateTime.Parse (rdpFrom.SelectedDate.Value.ToString( yyyy / MM / dd),CultureInfo.CreateSpecificCulture( en-CA)));
com.Parameters.AddWithValue( @ todate,DateTime.Parse(rdpTo.SelectedDate .Value.ToString( yyyy / MM / dd),CultureInfo.CreateSpecificCulture( en-CA)));
// com.Parameters.AddWithValue(@ strfltr,strfltr1);
// com.Parameters.AddWithValue(@ sptype,ddlsreturn.SelectedValue);
com.Parameters.AddWithValue( @ ch, Int32 .Parse(Convert.ToString(ViewState [ ch ])));
SqlDataAdapter da = new SqlDataAdapter(com);
DataTable dt = new DataTable();
da.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
}
catch (例外情况)
{
}
}
问题是,每当我调用fillgrid()时,网格列都会重复两次。有没有我可以指定网格数据源的事件...
请帮助...
< blockquote>请参考此链接,您将了解AutoGenerateColumn属性。
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.autogeneratecolumns.aspx [ ^ ]
设置AutoGenerateColumn =true时:
自动为数据源中的每个字段创建AutoGeneratedField对象。然后,每个字段在GridView控件中按字段显示在数据源中的顺序显示。
动态创建列时(如您创建的那样)你必须设置AutoGenerateColumn =false。
hi ....
http://www.aspdotnet-suresh.com/2011/02/how-to -inserteditupdate-and-delete-data.html [^] [ ^ ]
http://www.aspdotnet-suresh.com/2012/03/dynamically-create-and -add-data-to.html [^] [ ^ ]
希望这个帮助
Happy Coding
设置auto generate column =false
Hi,
I want to bind my grid to database..Please find below my code:-
.aspx:-
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:BoundField DataField="tran_date" HeaderText="Transaction Date"
SortExpression="tran_date" />
<asp:BoundField DataField="RSQ" HeaderText="Transaction Cash"
SortExpression="RSQ" />
<asp:BoundField DataField="RSU" HeaderText="Cash Unit"
SortExpression="RSU" />
<asp:BoundField DataField="CSQ" HeaderText="Credit sale"
SortExpression="CSQ" />
<asp:BoundField DataField="CSU" HeaderText="Credit Unit"
SortExpression="CSU" />
<asp:BoundField DataField="iAmount" HeaderText="Amount"
SortExpression="iAmount" />
</Columns>
</asp:GridView>
aspx.cs:---
public void fillgrid()
{
conns();
SqlConnection con=new SqlConnection (conn);
SqlCommand com;
try
{
con.Open();
com = new SqlCommand("usp_Dailysales_main", con);
com.CommandType = CommandType.StoredProcedure;
com.Parameters.AddWithValue("@FrmDate", DateTime.Parse(rdpFrom.SelectedDate.Value.ToString("yyyy/MM/dd"), CultureInfo.CreateSpecificCulture("en-CA")));
com.Parameters.AddWithValue("@todate", DateTime.Parse(rdpTo.SelectedDate.Value.ToString("yyyy/MM/dd"), CultureInfo.CreateSpecificCulture("en-CA")));
//com.Parameters.AddWithValue("@strfltr", strfltr1);
// com.Parameters.AddWithValue("@sptype", ddlsreturn.SelectedValue);
com.Parameters.AddWithValue("@ch", Int32.Parse(Convert.ToString(ViewState["ch"])));
SqlDataAdapter da = new SqlDataAdapter(com);
DataTable dt = new DataTable();
da.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
}
catch (Exception ex)
{
}
}
The problem is, whenever I am calling fillgrid(), the grid columns are repeated twice. Is there any event where I can specify grid Data source...
Please help...
Please refer this link you will understand the AutoGenerateColumn property.
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.autogeneratecolumns.aspx[^]
When you set AutoGenerateColumn="true" :
AutoGeneratedField object is automatically created for each field in the data source. Each field is then displayed as a column in the GridView control in the order that the fields appear in the data source.
When you creating column dynamically(as you created) you have to set AutoGenerateColumn="false".
hi....
http://www.aspdotnet-suresh.com/2011/02/how-to-inserteditupdate-and-delete-data.html[^][^]
http://www.aspdotnet-suresh.com/2012/03/dynamically-create-and-add-data-to.html[^][^]
Hope this helpss
Happy Coding
set auto generate column="false"
这篇关于gridview绑定ASP.net c#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!