5

jsカルーセルでゲームウィークのリストを表示するデータリーダーがあります。

現在のゲームウィークのdivクラスを変更するには、ifステートメントを追加できる必要があります。

これは私の現在のコードです:

if (dReader.HasRows) {
    while (dReader.Read()) {                
        gameweekList.Text += "<div class=\"item\"><h4>Gameweek " + 
            (dReader["gameweekID"].ToString()) + "</h4></div>";
    }
} else {
    gameweekList.Text = "Error Finding Gameweeks";
}
dReader.Close();
conn.Close();

if(dreader[1])実際には、追加してからビットを追加したいのですが、これはどのように可能ですか?

4

4 に答える 4

7

DataTableまたはDataSetを使用する方が簡単だと思います。このようなもの:

DataTable dt = new DataTable();
dt.Load(dreader)

次に、DataTable.Rowsプロパティを使用して、特定の行に簡単に到達できます。

于 2013-03-16T14:22:11.537 に答える
4

どうですか...

if (dReader.HasRows) {
    while (dReader.Read()) {

        if ( dReader["gameweekID"].ToString() == currentWeekId ) 
        {    
            gameweekList.Text += "<div class=\"somethingSpecial\"><h4>Gameweek " + 
            (dReader["gameweekID"].ToString()) + "</h4></div>";
        } 
        else 
        {
            gameweekList.Text += "<div class=\"item\"><h4>Gameweek " + 
            (dReader["gameweekID"].ToString()) + "</h4></div>";
        }
    }
} else {
    gameweekList.Text = "Error Finding Gameweeks";
}
dReader.Close();
conn.Close();
于 2013-03-23T17:16:15.773 に答える
3

私があなたを正しく理解したなら、あなたはこのように読者の読書を数えることができます。次に、カウントが自分に合ったら、別の何かを追加できます。

int count = 0;
if (dReader.HasRows) {
    while (dReader.Read()) {
        if(count == 1)  //add special row              
            gameweekList.Text += "something special " + dReader["gameweekID"].ToString();          
        else
            gameweekList.Text += "<div class=\"item\"><h4>Gameweek " + 
            (dReader["gameweekID"].ToString()) + "</h4></div>";
        count++;
    }
} else {
    gameweekList.Text = "Error Finding Gameweeks";
}
dReader.Close();
conn.Close();

ただし、現在の読み取りと後続の読み取りを同時に実行する場合は、最初に1回読み取りてから、次のようなループで読み取りを開始する必要があります。

if (dReader.HasRows) {
    string previousRead = string.Empty;
    dReader.Read();
    previousRead = dReader["gameweekID"].ToString();
    while (dReader.Read()) {
          //use current and previous read 
          //dReader["gameweekID"].ToString()
          //previousRead
          //update previousRead for the next read
          previousRead = dReader["gameweekID"].ToString();
    }
} else {
    gameweekList.Text = "Error Finding Gameweeks";
}
dReader.Close();
conn.Close();
于 2013-03-16T14:30:11.933 に答える
1

最初の行を取得するには、0から開始し、常にデータテーブルに配置します。これは、データリーダーから直接読み取るときに常に問題が発生するためです。

if (dReader.HasRows) {

DataTable dt = new DataTable();
dt.Load(dreader)
gameweekList.Text = dt.Rows[0]["gameweekID"]

}
于 2017-05-31T16:13:10.327 に答える