gridview绑定ASP.net c# [英] gridview binding ASP.net c#

查看:72
本文介绍了gridview绑定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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆