aspxページが最初にロードされたときにデータテーブルを作成したいと思います。クラスファイルに空白行のデータテーブルを作成するコードを配置しました。以下は、データテーブルを作成するためのコードです。
public class PaymentDetailsDataTable
{
public PaymentDetailsDataTable()
{
DataTable pventries = new DataTable();
DataColumn col1 = new DataColumn("col1");
DataColumn col2 = new DataColumn("col2");
DataColumn col3 = new DataColumn("col3");
DataColumn col4 = new DataColumn("col4");
DataColumn col5 = new DataColumn("col5");
DataColumn col6 = new DataColumn("col6");
DataColumn col7 = new DataColumn("col7");
DataColumn col8 = new DataColumn("col8");
DataColumn col9 = new DataColumn("col9");
col1.DataType = System.Type.GetType("System.Int32");
col2.DataType = System.Type.GetType("System.String");
col3.DataType = System.Type.GetType("System.String");
col4.DataType = System.Type.GetType("System.String");
col5.DataType = System.Type.GetType("System.String");
col6.DataType = System.Type.GetType("System.String");
col7.DataType = System.Type.GetType("System.String");
col8.DataType = System.Type.GetType("System.Double");
col9.DataType = System.Type.GetType("System.String");
pventries.Columns.Add(col1);
pventries.Columns.Add(col2);
pventries.Columns.Add(col3);
pventries.Columns.Add(col4);
pventries.Columns.Add(col5);
pventries.Columns.Add(col6);
pventries.Columns.Add(col7);
pventries.Columns.Add(col8);
pventries.Columns.Add(col9);
pventries.Rows.Add();
}
}
コードビハインドファイルで、クラスをインスタンス化し、次のように使用しようとしました。
public partial class create_pv : System.Web.UI.Page
{
String conn = WebConfigurationManager.ConnectionStrings["pvconn"].ToString();
PaymentDetailsDataTable pmd = new PaymentDetailsDataTable();
protected void Page_Load(object sender, EventArgs e)
{
/**/if(!IsPostBack)
pmd.PaymentDetailsDataTable();
allpventries.DataSource = pmd;
allpventries.DataBind();
}
}
PaymentDetailsDataTable
このようなメソッドにアクセスしようとするとpmd.PaymentDetailsDataTable()
、次のエラーが発生します
'PaymentDetailsDataTable' does not contain a definition for 'PaymentDetailsDataTable' and no extension method 'PaymentDetailsDataTable' accepting a first argument of type 'PaymentDetailsDataTable' could be found (are you missing a using directive or an assembly reference?)
メソッドreturntype(PaymentDetailsDataTable
)をvoidに変更すると機能しますが、後でデータテーブルをグリッドビュー(allpventriesと呼ばれます)にバインドしたいので、コンパイラエラーが発生します。
コードベースが別のクラスにあるデータテーブルからデータグリッドをバインドするにはどうすればよいですか?後で、データテーブルに新しい行を追加します。これを達成するための代替オプションも受け入れられます。
オブジェクト指向プログラミングとC#ASP.NETの非常に新しい。