클래스 선언: PuzzleClass _Puzzle = new PuzzleClass(); 호출: PuzzleClass _Puzzle = new PuzzleClass();
protected void Page_Load(object sender, EventArgs e)
{
PuzzleListSetting();
}
{
PuzzleListSetting();
}
protected void PuzzleListSetting()
{
DataSet ds = new DataSet();
//View는 해당 글 하나만 가져오기 때문에 DataRow로 선언하지만, List는 통체로 가져오기 때문에 DataSet으로 선언한다
ds = _Puzzle.ListPuzzle("SP_WordPuzzle_List");
PuzzleListTable.DataSource = ds.Tables[0];
PuzzleListTable.DataMember = "PuzzleListTable";
PuzzleListTable.DataBind();
}
{
DataSet ds = new DataSet();
//View는 해당 글 하나만 가져오기 때문에 DataRow로 선언하지만, List는 통체로 가져오기 때문에 DataSet으로 선언한다
ds = _Puzzle.ListPuzzle("SP_WordPuzzle_List");
PuzzleListTable.DataSource = ds.Tables[0];
PuzzleListTable.DataMember = "PuzzleListTable";
PuzzleListTable.DataBind();
}
ListPuzzle
public DataSet ListPuzzle(string procName) cmd.CommandText = procName; SqlDataAdapter adap = new SqlDataAdapter(cmd); |
★ PuzzleListTable_ItemDataBound
- Repeater를 제어하기위하여 e.Item.ItemType가 ListItemType.Item 또는 ListItemType.AlternatingItem일때만 if문 안으로
들어오도록 한다. lbl_title.Text에 data["title"].ToString()를 link를 걸어 출력한다. 그렇지않을 경우 lbl_footer.Visible = false가 되면서 "등록된 낱말퀴즈가 없습니다"가 출력된다.
protected void PuzzleListTable_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
DataRowView data = (DataRowView)e.Item.DataItem;
Label lbl_title = (Label)e.Item.FindControl("title");//title의 원래위치정보를 lbl_title에 저장
if (totCnt == 0)
{
HtmlTableRow lbl_footer = (HtmlTableRow)e.Item.FindControl("_EmptyData");
lbl_footer.Visible = false;
}
else
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
lbl_title.Text = "<a href=\"/PuzzleView.aspx?idx=" + data["idx"].ToString() + "\">" + data["title"].ToString() + "</a>";
}
else if (e.Item.ItemType == ListItemType.Footer)
{
HtmlTableRow lbl_footer = (HtmlTableRow)e.Item.FindControl("_EmptyData");
lbl_footer.Visible = false;
}
}
}
{
DataRowView data = (DataRowView)e.Item.DataItem;
Label lbl_title = (Label)e.Item.FindControl("title");//title의 원래위치정보를 lbl_title에 저장
if (totCnt == 0)
{
HtmlTableRow lbl_footer = (HtmlTableRow)e.Item.FindControl("_EmptyData");
lbl_footer.Visible = false;
}
else
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
lbl_title.Text = "<a href=\"/PuzzleView.aspx?idx=" + data["idx"].ToString() + "\">" + data["title"].ToString() + "</a>";
}
else if (e.Item.ItemType == ListItemType.Footer)
{
HtmlTableRow lbl_footer = (HtmlTableRow)e.Item.FindControl("_EmptyData");
lbl_footer.Visible = false;
}
}
}
'ASP.NET_ 낱말퍼즐 > 프로그램' 카테고리의 다른 글
ASP.NET으로 '낱말잇기 퍼즐'만들기_ 프로그램하기_PuzzleWrite (0) | 2011.02.14 |
---|---|
ASP.NET으로 '낱말잇기 퍼즐'만들기_ 프로그램하기_PuzzleView (0) | 2011.02.14 |
ASP.NET으로 '낱말잇기 퍼즐' 만들기_ 방향잡기 (0) | 2011.02.11 |