2013-06-28 48 views
0

我正在與DotNetNuke一起使用asp.net。如何從使用存儲過程的代碼填充gridviews

我想嘗試一些能夠幫助我完成其他真實項目的東西。我想在代碼中使用存儲過程在sql server中填充GridView嗎?

  1. 在信息組件

    我補充一點:在我加入這個控制器

    public abstract IDataReader GetEmri(string Emri);

  2. public string Emri2 { get; set; }

  3. 的DataProvider

    我添加此

    public GradesInfo GetEmri(GradesInfo gr) 
    { 
    
        return (GradesInfo)CBO.FillObject(DataProvider.Instance().GetEmri(gr.Emri2), typeof(GradesInfo)); 
    
    } 
    
  4. 中的SqlDataProvider

    我補充一點:

    public override IDataReader GetEmri(string Emri) 
    { 
        return (IDataReader)SqlHelper.ExecuteReader(ConnectionString, "SelektoStudentet", Emri); 
    } 
    

如何使它的頁面上加載電網將被填補?

在頁面加載:

GradesController gr = new GradesController();

GradesInfo grIn = new GradesInfo();

grIn.Emri2 = "John";

gr.GetEmri(grIn);

有人可以幫助EM好嗎?我已經嘗試了很多東西,但我做不到

P.我不允許使用SqlConnection,SqlCommand等。

回答

0

如果您正在使用網格,您將希望使用稍微不同的返回類型,我猜測您正在獲取多個記錄。

你的SqlDataProvider沒問題。但是在控制器中你想要的回報是List<GradesInfo>

然後使用CBO.FillCollection<GradesInfo>(DataProvider.Instance().GetEmri("yourvaluehere"));

然後,在ASCX,你可以做到以下幾點,假設你正在使用一個DataGrid與dgrData的ID。

var controller = new GradesController(); 
dgrData.DataSource = controller.GetEmri("yourvaluehere"); 
dgrData.DataBind(); 
相關問題