2

私のプロジェクトには、2 つの textBoxestxtNameと1 つtxtPopulationの Button がありbtnClickます。ユーザーが をクリックするたびbtnClickに、データセットの [人口] 列のdsDetails値が の値で更新されますtxtPopulation。ここで、[名前] 列は に等しくなりtxtNameます。rowfilterorを使用してこれを実行できることはわかっていますがselect、何を実装すればよいかわかりません。リンクしないでください

ここに画像の説明を入力 現在、私はこのようなことをしています..(作業中

for (int intCount = 0; intCount < dsDetails.Tables[0].Rows.Count; intCount++)
{
    if (lblCountryName.Text.Equals(dsDetails.Tables[0].Rows[intCount][0].ToString()))
    {
         dsDetails.Tables[0].Rows[intCount][3] = txtPopulation.Text;
    }
}
4

2 に答える 2

12

.AcceptChanges()次のように、変更がコレクションにコミットされるように、DataTableを呼び出す必要があります。

for (int intCount = 0; intCount < dsDetails.Tables[0].Rows.Count; intCount++)
{
    if (lblCountryName.Text.Equals(dsDetails.Tables[0].Rows[intCount][0].ToString()))
    {
        dsDetails.Tables[0].Rows[intCount][3] = txtPopulation.Text;
    }
}  

dsDetails.Tables[0].AcceptChanges();

行選択フィルターの使用

.Select次のように、行フィルターを使用して列をターゲットにすることができます。

foreach (DataRow row in dsDetails.Tables[0].Select("Name = '" + txtName.Text + "'"))
{
    row[3] = txtPopulation.Text;
}

dsDetails.Tables[0].AcceptChanges();
于 2012-10-22T09:49:01.833 に答える
2
DataRow[] dr = dsDetails.Tables[0].Select("Something='"+lblCountryName.Text+"'");
if(dr.Length > 0)
{
 dr[0][0] = "ChangeValue";//Datarow is reference to datatable it will automatically update the datatable values
}
dsDetails.Tables[0].AcceptChanges();
于 2012-10-22T09:54:09.013 に答える